我对 sed 和正则表达式了解不多。我想用字符串“0”替换仅包含制表符的每一行。我的文件中也有一些行只包含“\n”。
基本上我想使用正则表达式 ^\h+$ 并将匹配项替换为 0。
我试过:
sed -i 's/^\h+$/0/' file.txt
但是没用
最佳答案
您可以使用:
sed -i.bak -E 's/^[[:blank:]]+$/0/' file
POSIX 字符类 [[:blank:]]
匹配空格或制表符,与 PCRE 中的 \h
相同。
-i.bak
是将原文件保存在file.bak
中,以备恢复时使用。
关于regex - 使用 sed 匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755207/