awkを使用して、文字列の最初の列または任意の列を抽出できますか?実際、私はファイルを使用してそれを変数に読み込んでいます。その変数でAWKを使用して、仕事をしたいと思っています。
どうしてそれは可能ですか?助言がありますか。
最初の列を印刷*:
<some output producing command> | awk '{print $1}'
2番目の列を印刷します。
<some output producing command> | awk '{print $2}'
等
どこ<some output producing command>
にあるのcat filename.txt
かecho $VAR
、など。
たとえばls -l | awk '{print $9}'
、9番目の列を抽出します。これは...厄介な方法のようなものです。ls -1
*列は区切りの空白で定義されます。
編集:テキストがすでに変数に含まれている場合は、次のようになります。
VAR2=$(echo $VAR | awk '{print $9}')
9を目的の列に変更すれば、機能します。