Sed 如何通过重命名fuel从每个文件中删除尾随行

Sed 如何通过重命名fuel从每个文件中删除尾随行,sed,Sed,您好,我使用以下代码从文件中删除尾随行。但是,我是否可以在一个文件夹中的2000个文件上运行此操作,而不必重命名它们?先发制人 sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba' 如果它在同一文件夹中,并且有一个模式选择id,比如*.txt,那么用shell模式替换你的文件,如果其他选择通过预选传递每个文件名,比如find或while read from stream/file input,那么你可以使用find列出你需要的文件,然后在每个文件上运行sed。此版本使用-

您好,我使用以下代码从文件中删除尾随行。但是,我是否可以在一个文件夹中的2000个文件上运行此操作,而不必重命名它们?先发制人

sed -e :a -e '/^\n*$/{$d;N;};/\n$/ba'

如果它在同一文件夹中,并且有一个模式选择id,比如*.txt,那么用shell模式替换你的文件,如果其他选择通过预选传递每个文件名,比如find或while read from stream/file input,那么你可以使用
find
列出你需要的文件,然后在每个文件上运行
sed
。此版本使用-i选项就地修改文件:

find . -name "*.txt" | xargs -I % sed -i  -e :a -e '/^\n*$/{$d;N;};/\n$/ba' %

如果文件有一个模式,例如
myfile\u number
,您可以执行
sed。。。。myfile_*
。是,但它会输出结果,但不会删除文件中的行?为此,您需要使用
sed-i
find . -name "*.txt" | xargs -I % sed -i  -e :a -e '/^\n*$/{$d;N;};/\n$/ba' %