![[[:space:]]* と #* の両方のエントリを削除します。](https://linux33.com/image/175452/%5B%5B%3Aspace%3A%5D%5D*%20%E3%81%A8%20%23*%20%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%AE%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.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