Shell:ファイルから番号を取得する方法は?

Shell:ファイルから番号を取得する方法は?
1  2  5  7

テキストファイルにはこのような数字があります。シェルスクリプトを使用して3番目の数字を印刷するには?

ベストアンサー1

シェルはこの種の作業には良いツールではありません。これらの作業のために特別に設計されたツールがあります:

$ awk '{print $3}' file
5

またはタブ区切りファイルの場合:

$ cut -f3 file
5

そうでない場合は、連続したスペースをタブに変換して引き続き使用できますcut

$ sed 's/  */\t/g' file | cut -f3
5

または、単一のスペースに変換して以下を使用しますcut -d' '

$ sed 's/  */ /g' file | cut -d' ' -f3
5

シェルでこれを行うには、次のようにします。

$ while read a b c rest; do echo "$c"; done < file
5

または

$ nums=( $(cat file) )
$ echo "${nums[2]}"
5

おすすめ記事