web-dev-qa-db-ja.com

このawkコマンドの出力をファイルに保存する方法は?

このコマンドを別のテキストに保存したい:awk '{print $ 2}'それはテキストから抽出します。今、私も出力を別のテキストに保存したい。ありがとう

17
user2034825
awk '{ print $2 }' text.txt > outputfile.txt

> =>これは、STDOUTをファイルにリダイレクトします。ファイルが存在しない場合は、作成されます。ファイルが存在する場合、コンテンツをクリアし(実際に)、新しいデータを書き込みます

>> =>これは上記と同じことを意味しますが、ファイルが存在する場合、新しいデータを追加します。

例:

$ cat /etc/passwd | awk -F: '{ print $1 }' | tail -10 > output.txt
$ cat output.txt 
_warmd
_dovenull
_netstatistics
_avbdeviced
_krb_krbtgt
_krb_kadmin
_krb_changepw
_krb_kerberos
_krb_anonymous
_assetcache

または、リダイレクトにコマンドteeを使用できます。コマンドteeは、STDOUTを指定されたファイルと端末画面にリダイレクトします

シェルリダイレクトの詳細については、次のリンクを参照してください:

http://www.techtrunch.com/scripting/redirections-and-file-descriptors

27
Suku

Awk自体からこれを行う方法があります( docs

➜ cat text.txt
line 1
line 2
line three
line 4 4 4

➜ awk '{print $2}' text.txt
1
2
three
4

➜ awk '{print $2 >"text.out"}' text.txt

➜ cat text.out
1
2
three
4
6
Damo