我想从没有格式的文件中删除所有行:
某物,某物,某物
例如,如果文件为以下文件:
A sentence, some words
ABCD.CP3,GHD,HDID
Hello. How are you?
A.B,C,D
dbibb.yes,whoami,words
我将被留下:
ABCD.CP3,GHD,HDID
A.B,C,D
dbibb.yes,whoami,words
如果我匹配不想删除的模式,则尝试尝试跳转到sed脚本的末尾,但如果不匹配,请继续并删除该行:
cp $file{,.tmp}
sed "/^.+\..+,.+,.+$/b; /.+/d" "$file.tmp" > $file
rm "$file.tmp"
但这似乎根本没有任何影响。
我想我可以逐行读取文件,检查是否与模式匹配,如果匹配,则将其输出到文件中,但是我想使用sed或类似文件来实现。
您可以grep
成功使用:
grep -E '^[^.]+\.[^,]+,[^,]+,[^,]+$' file > temp
mv temp file
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句