我正在寻找一个删除“:r\n”行的命令。例如:
test1:
test2:true
tool3:
tool4:false至:
test2:true
tool4:false我不太习惯我试过:
sed '/:\r\n/d'不起作用
sed '/test1/d'适用于这一行
发布于 2022-08-22 07:43:25
您可以不尝试匹配换行符,而是匹配由$表示的EOL字符。
sed '/:$/d' file.txt发布于 2022-08-22 11:34:26
您可以打印带有:的所有行,后面跟着任何字符:
sed -n '/:./p' file.txt在这里,-n取消默认的行输出,:.匹配一个冒号和任何一个字符,p打印匹配的行。
它与awk的结合更加优雅
awk '/:./' file.txt见在线演示
#!/bin/bash
s='test1:
test2:true
tool3:
tool4:false'
sed -n '/:./p' <<< "$s"
awk '/:./' <<< "$s"这两项产出:
test2:true
tool4:falsehttps://stackoverflow.com/questions/73441652
复制相似问题