如何摆脱多个文本文件的前两行?

Arn*_*old 4 bash scripts sed

我试图摆脱多个文本文件的前两行。我知道只使用一个文件执行此操作的命令

sed -i '1,2d' filename.dat
Run Code Online (Sandbox Code Playgroud)

但是如何为多个文件运行此命令?我可以使用 .sh 文件执行此操作吗?

hee*_*ayl 5

sed将多个文件名作为参数。只需传递它们:

sed -i '1,2d' file1.txt file2.txt file3.txt
Run Code Online (Sandbox Code Playgroud)

如果您的文件名遵循某种模式,您可以从 shell globbing 中获取帮助,例如:

sed -i '1,2d' file{1..3}.txt
Run Code Online (Sandbox Code Playgroud)

对于.dat当前目录中的所有文件:

sed -i '1,2d' *.dat
Run Code Online (Sandbox Code Playgroud)

  • 请注意那些希望在没有`-i`(`--in-place`)选项的情况下*模拟*的人,您需要添加`-s`(`--separate`)标志,否则只有前两个第一个输入文件的行将受到影响(`-i` 与多个文件 * 暗示* `-s` 因为否则它没有意义)。 (2认同)