11

awkを使用して、文字列の最初の列または任意の列を抽出できますか?実際、私はファイルを使用してそれを変数に読み込んでいます。その変数でAWKを使用して、仕事をしたいと思っています。

どうしてそれは可能ですか?助言がありますか。

4

1 に答える 1

27

最初の列を印刷*:

<some output producing command> | awk '{print $1}'

2番目の列を印刷します。

<some output producing command> | awk '{print $2}'

どこ<some output producing command>にあるのcat filename.txtecho $VAR、など。

たとえばls -l | awk '{print $9}'、9番目の列を抽出します。これは...厄介な方法のようなものです。ls -1

*列は区切りの空白で定義されます。


編集:テキストがすでに変数に含まれている場合は、次のようになります。

VAR2=$(echo $VAR | awk '{print $9}')

9を目的の列に変更すれば、機能します。

于 2012-06-09T07:17:52.387 に答える