我想连接多个表,只将标题保留在第一行中(因此,每次连接一个新表时都没有新的标题)。有谁知道这是怎么做到的吗?
我目前正在使用:
find "/dir/folder" name "*.dat" -exec cat {} + >> "/dir/folder/table.txt"
但我可以摆脱标题。
使用BSD / GNU sed
:
find "/dir/folder" -name "*.dat" -exec sed -se1d {} + >> "/dir/folder/table.txt"
...指示分别对待所有输入文件,并让每个输入文件d
删除1
st行。
如果表头中尚未包含标题,则应首先将其放在此处:
set -- /dir/folder/*.dat
head -n1 <"$1" >>/dir/folder/table.txt
find ...
如果所有*.dat
匹配项都在子目录中,则将无法正常运行。
{ find /dir/folder -name \*.dat -exec \
sh -c 'head -n1 "$0"; kill "$PPID"' {} \;
find /dir/folder -name \*.dat -exec sed -se1d {} +
} >>/dir/folder/table.txt
那应该。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句