输入文件有以下行:
line1
##### 1592524754
### okoko
## ### ## sfsffsf
预期输出是:
line1
1592524754
okoko
sfsffsf
我只能在一个 sed 中替换一组 [[:space:]]* 和 #'shes
$ cat temp_file|sed 's/^[[:space:]]*//;s/^[[:space:]]*\#*//'
line1
1592524754
okoko
### ## sfsffsf
$
$ cat temp_file|sed 's/^[[:space:]]*//;s/^[[:space:]]*\#*//;s/^[[:space:]]*//;s/^[[:space:]]*\#*//;s/^[[:space:]]*\#*//;s/^[[:space:]]*//'
line1
1592524754
okoko
sfsffsf
$
有没有一种简单的方法可以用一个 sed 过滤器删除所有内容?
答案1
^[[:blank:]#]*
将匹配零个或多个水平空白或#
字符,锚定到行的开头。
所以
$ sed 's/^[[:blank:]#]*//' temp_file
line1
1592524754
okoko
sfsffsf