如何删除所有文件和目录中的头(第一行).并且文件名在unix中仍然保持不变



示例:在我的文件夹中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:直接修改每个文件

相关内容

  • 没有找到相关文章

最新更新