如何将此awk命令的输出保存到文件?

use*_*825 18 linux awk output

我想将此命令保存到另一个文本:awk'{print $ 2}'它从文本中提取.现在我想保存输出太另一个文本.谢谢

Suk*_*uku 28

awk '{ print $2 }' text.txt > outputfile.txt
Run Code Online (Sandbox Code Playgroud)

>=>这将重定向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
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用该命令tee进行重定向.该命令tee将重定向STDOUT到指定的文件以及终端屏幕

有关shell重定向的更多信息请转到以下链接:

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

  • 也许您应该明确指出重定向是 shell 的一个特性,而不是 `awk`,并且不限于后者。 (2认同)
  • @DavidAnderton,您不应该写入与使用 AWK 读取相同的文件。 (2认同)

Dam*_*amo 6

有一种方法可以从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
Run Code Online (Sandbox Code Playgroud)