示例:在我的文件夹中 C:\ users \ inputfiles包含 file1.txt file2.txt 带有标题的file3.txt。
需要使用shell脚本删除每个文件中的标头并将数据移动到同一文件中(文件名不应更改)
答案 0 :(得分:0)
为您的每个文件运行此命令。
tail -n +2 "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE"
应该可以。
答案 1 :(得分:0)
sed和tail将帮助您解决这个问题。
如果使用sed,则不需要输出重定向。
sed -i '1d' filename
如果您使用的是tail,则使用中间的tmp文件存储内容,然后将tmp文件的内容移动到原始文件名。
tail -n +2 "$FILE" > "$FILE.tmp" && mv "$FILE.tmp" "$FILE"
与sed相比,尾巴工作更快。
答案 2 :(得分:0)
我假设标题的行数都相同:2
尝试这样做,以删除当前目录中每个带有.txt
后缀的文件的3行之前的行:
sed -n -i '3,$ p' *.txt
-i
:直接修改每个文件