【发布时间】:2014-11-22 21:44:05
【问题描述】:
我想删除目录中每个文件的第一行,并通过在每个文件名的末尾附加一个“.tmp”来保存相应的输出。例如,如果有一个名为input.txt 的文件,其内容如下:
line 1
line 2
我想在同一目录中创建一个名为 input.txt.tmp 的文件,其内容如下
line 2
我正在尝试这个命令:
find . -type f | xargs -I '{}' tail -n +2 '{}' > '{}'.tmp
问题是,它不是将输出写入带有.tmp 后缀的单独文件,而是只创建一个名为{}.tmp 的文件。我知道这是因为输出重定向是在 xargs 完全完成之后完成的。但是有什么方法可以告诉xargs 输出重定向是它的论点的一部分?
【问题讨论】: