自分のファイルから英数字行のみを印刷するにはどうすればよいですか?

自分のファイルから英数字行のみを印刷するにはどうすればよいですか?

これは私のファイルです。このファイルでlinux / unixコマンドを使用して英数字行のみを印刷する必要がありますか?

1234567890 
1234567890 
123456789X 
0974385495 

予想出力:

123456789X 

次のコマンドを使用して出力を取得します。

$ tr -cd '[:alnum:]' < distinct_file.txt

12345678901234567890123456789X0974385495

ベストアンサー1

少なくとも1つの数字と少なくとも1つのアルファベット文字を含む行が必要な場合は、次のようにします。

< file grep '[[:digit:]]' | grep '[[:alpha:]]'

または、すべての文字をalnumとして指定するには、上記の内容をパイプで連結するか(grep -v '[^[:alnum:]]'alnum以外の文字()を1つ以上含む行を削除する)、次のコマンドを使用します。-vgrep

< file grep -xe '[[:alnum:]]*[[:digit:]][[:alnum:]]*[[:alpha:]][[:alnum:]]*' \
             -e '[[:alnum:]]*[[:alpha:]][[:alnum:]]*[[:digit:]][[:alnum:]]*'

おすすめ記事