![删除所有出现的 [[:space:]]* 和 #*](https://linux22.com/image/175452/%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%E5%87%BA%E7%8E%B0%E7%9A%84%20%5B%5B%3Aspace%3A%5D%5D*%20%E5%92%8C%20%23*.png)
输入文件有以下行:
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