我有很多的是电子邮件模板的文本文件。他们中许多人,出于某种原因,有以下行:中的所有文本文件的目录使用删除字符SED
Best Regards,œ
这在年底奇怪的字符是什么,我希望从所有这些文件中移除通过一个命令。
我想:
for f in *
do
sed 's/"Best Regards,œ"/"Best Regards,"/g' $f | tee $f.t && mv $f.t $f
done
这跑了整个过程,但实际上并没有删除“O E”字符。
请让我知道我在做什么错误,所以我可以使用正则表达式删除此字符,也许其他非字母数字字符[:alnum:],也许。
我固定的问题与删除不需要的字符:
for f in *
do
sed 's/Best\ Regards\,\œ/Best\ Regards\,/g' $f | tee $f.t && mv $f.t $f
done
然而,这仍然无法从每个文件的每一行中删除所有非字母数字字符。我试过的其他事情要么不执行或删除整个行。
我感谢您的帮助。
你是如何将字符添加到命令行的? – choroba
找。 -type f -name'* .txt'可能会做同样的事情。 – technerdius
“所有非字母数字字符”是什么意思?假设你的文件中有一个'§',你是否也想删除它?或者你在每个文件中都有多个“ - ”? – sjsam