如何从目录中的所有 .asc 文件中删除包含“=”和“HISTORY”(始终大写)的行以及所有空行?
我认为它会是这样的:
for file in /media/linux/DATADISK/*.asc
do
sed '/=/d'
sed '/HISTORY/d'
done
答案1
一口气完成所有工作。
sed -E '/=|HISTORY|^$/d' /media/linux/DATADISK/*.asc
替换^$
为^[[:blank:]]*$
并删除那些仅包含制表符/空格的行,或者^[[:blank:]]*\r?$
如果文件的换行符可以是 Windows 样式,则使用\r\n
。
要就地更新更改,请添加-i
选项,请参阅man sed
了解详情。