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