在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