在linux中是否可以将命令的输出添加到文本文件(而不是覆盖文本文件)?

在linux中是否可以将命令的输出添加到文本文件(而不是覆盖文本文件)?,linux,awk,Linux,Awk,我有这样一个命令行: awk '$9 < 0.1' s_all_frq.txt | wc -l awk '$9 >= 0.1 && $9 < 0.2 ' s_all_frq.txt | wc -l 使用>而不是来追加而不是替换 awk '$9 >= 0.1 &&$9 < 0.2 ' s_all_frq.txt | wc -l >> 1.txt 使用>代替,例如 awk '$9 < 0.1' s_all_f

我有这样一个命令行:

awk  '$9 < 0.1' s_all_frq.txt | wc -l  
awk  '$9 >= 0.1 && $9 < 0.2 ' s_all_frq.txt | wc -l

使用
>
而不是
来追加而不是替换

awk '$9 >= 0.1 &&$9 < 0.2 ' s_all_frq.txt | wc -l >> 1.txt

使用
>
代替
,例如

awk '$9 < 0.1' s_all_frq.txt | wc -l >> 1.txt

awk '$9 >= 0.1 &&$9 < 0.2 ' s_all_frq.txt | wc -l >> 1.txt
awk'$9<0.1's_all_frq.txt | wc-l>>1.txt
awk'$9>=0.1&$9<0.2's_all_frq.txt | wc-l>>1.txt

这将把输出附加到文件中。

awk
中完成这一切怎么样

awk '$9 >= 0.1 && $9 < 0.2 {print | "wc -l > 1.txt"}' s_all_frq.txt
每个输出文件每行包含一个名称或编号

例子:
一个没有“wc”的awk流程应该可以工作

awk '$9<0.1{i++;next;} $9<0.2{j++} END{print i;print j}' s_all_frq.txt

awk'$9否决票不是我的,但我想你的awk行会覆盖1.txt中的现有数据。对吗?在您的脚本中,您使用了print“|”not“>”。您好@Kent我的理解是,只要他在一个awk-one-liner中同时具有两个语法,当awk以不同于
bash
的方式查看
时,输出的内容将被附加到文件中。您的“>”属于“命令”而不是awk上下文。你可以做一个简单的测试。准备一个文件(1.txt),一行,比如说100。然后
echo“xyz”| awk'{print |“wc-l>1.txt”}
然后检查1.txt的内容,看看是否还有100。@Kent True我同意。也许我是在一个不同的背景下理解它的。我增加了一个例子。
user@home:~$ echo A >1.txt
user@home:~$ echo B >1.txt
user@home:~$ cat 1.txt
B
user@home:~$ echo C >>1.txt
user@home:~$ cat 1.txt
B
C
user@home:~$
awk '$9 < 0.1' s_all_frq.txt | wc -l >> 1.txt

awk '$9 >= 0.1 &&$9 < 0.2 ' s_all_frq.txt | wc -l >> 1.txt
awk '$9 >= 0.1 && $9 < 0.2 {print | "wc -l > 1.txt"}' s_all_frq.txt
      $ awk '{ print $2 > "phone-list"
      >        print $1 > "name-list" }' BBS-list
      $ cat phone-list
      -| 555-5553
      -| 555-3412
      ...
      $ cat name-list
      -| aardvark
      -| alpo-net
      ...
[jaypal:~/Temp] cat file.txt
1
2
3
4
5
6
7
8
9
10
[jaypal:~/Temp] awk '/1/{print "this is one" > "newfile.txt"}' file.txt
[jaypal:~/Temp] cat newfile.txt 
this is one
this is one
awk '$9<0.1{i++;next;} $9<0.2{j++} END{print i;print j}' s_all_frq.txt