[[:space:]]* と #* の両方のエントリを削除します。

[[:space:]]* と #* の両方のエントリを削除します。

入力ファイルには次の行があります。

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

関連情報