特殊文字と文字を区別するbashスクリプトを作成したいですか?

特殊文字と文字を区別するbashスクリプトを作成したいですか?

私は初めてバッシュに触れました。 「file.txt」ファイルを含むbashスクリプトを作成したいと思います。

通常の文字をcharecters.txtに切り取り、特殊文字をSpecial.txtに貼り付けたいです。

擬似コード

#!/bin/bash
touch charecters.txt
touch specialcharecters.txt   
file='file.txt' 
i=1  
while read line; do  
if 
   # the letter is a charecter
then
  # cp that letter to charecters.txt
else
  cp that letter to alphabet.txt
fi
i=$((i+1))  
done < $file  

Bash / shellでこれをどのように実行しますか?

ベストアンサー1

特殊文字が英数字ではないことを意味すると思いますか?それから私が思いついたのは次のとおりです。以下を含むファイルがありますtest

1234: 2271' 4423'
8901 1234 2569?
1234@ 5678! 9107:
1134 7896 6780

実行すると、cat test | tr -d '[:alnum:]' 次の結果が表示されます。

: ' '
  ?
@ ! :

英数字記号を一致させるには、このコマンドを使用できます。

grep -o '[A-Za-z0-9]*' test

すべての行を繰り返す必要はないと思います。

おすすめ記事