4文字未満の行を条件付きで削除

4文字未満の行を条件付きで削除

#行またはで始まらない限り、4文字未満の行を切りたいと思います!

入力例:

aa
bbb
 
   
dasasdsad
! f
#
!
# s
a
&B@*!

出力:

dasasdsad
! f
#
!
# s
&B@*!

ベストアンサー1

そしてgrep

< file.in grep -E '^[#!]|.{4}' > file.out

つまり#、またはで始まる、または!一連の4文字を含む行を選択します。

または以下を使用してawk

< file.in awk '/^[#!]/ || length >= 4' > file.out

または以下を使用してsed

< file.in sed -e '/^[#!]/b' -e '/.\{4\}/!d' > file.out

おすすめ記事