我有多个源文件以ABC *开头,我必须从每个文件中删除第一行,有些请告诉我如何联系。
由于我是Unix新手,我可以删除单个文件,如" tail -n +2"。 不知道如何删除多个文件。
答案 0 :(得分:0)
您可以使用for循环执行此操作:
for file in abc*; do
tail -n +2 $file
done
如果您需要保存修改,可以在>
命令后添加tail
重定向,以将tail
的结果发送到新文件。
答案 1 :(得分:0)
使用awk:
$ ls
bar baz foo
$ awk 'FNR==1{close(f);f="new-"FILENAME}FNR>1{print>f}' foo bar baz
$ ls
bar baz foo new-bar new-baz new-foo
说明:
FNR==1 { close(f); f="new-"FILENAME } # 1st of each file, close previous file
FNR>1 { print>f } # after the 1st record print to file
您可以使用awk '...' ABC*
作为文件名。将创建new-ABC*
。