删除文件夹中所有文件的第一行(在ubuntu上)

Spa*_*low 5 terminal ubuntu awk sed bioinformatics

我有一个包含2800 .txt文件的文件夹,我需要删除每个文件的第一行。这些文件的名称都不同,只是它们以.txt结尾。

可以在保持相同文件名的情况下做到这一点(而不是将输出(没有第一行的文件)发送到另一个文件)...

jos*_*ski 6

这样的事情就可以了

sed -i '1d' *.txt
Run Code Online (Sandbox Code Playgroud)

-i就地编辑

编辑:附加

请尝试这个

time sed -i '1d' *.txt
Run Code Online (Sandbox Code Playgroud)

并与其他解决方案进行比较(只需在之前添加时间)[当然可以尝试一些备份文件]


Pau*_*sik 3

你可以写一个 bash 脚本。像这样的东西:

#!/bin/bash
for filename in *; 
do 
    tail -n +2 "${filename}"
done
Run Code Online (Sandbox Code Playgroud)

从命令行运行它:$ <script_file.sh>

对此持保留态度。我实际上并不是在 *nix 机器上运行。请参阅此处了解删除文件第一行的多种方法。另请注意,如果性能对您很重要,则tail应该比 快得多。sed