Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Unix中的Nawk Commmad_Linux_Unix_Awk_Nawk - Fatal编程技术网

Linux Unix中的Nawk Commmad

Linux Unix中的Nawk Commmad,linux,unix,awk,nawk,Linux,Unix,Awk,Nawk,我有一个nawk命令,如图所示。 谁能解释一下这个命令的作用吗 set sampFile = $cur_dir/${qtr}.SAMP nawk -F "," '{OFS=","; if (($4 == "0000" || $4 == "00000000")) {print $0} }' $samp_input_file >! $sampFile 给定变量$samp\u input\u file指向的文件,此命令将打印第4个字段为0000或00000000的行,并将输出存储在$samp

我有一个nawk命令,如图所示。 谁能解释一下这个命令的作用吗

set sampFile = $cur_dir/${qtr}.SAMP

nawk -F "," '{OFS=","; if (($4 == "0000" || $4 == "00000000")) {print $0} }' $samp_input_file >! $sampFile
给定变量
$samp\u input\u file
指向的文件,此命令将打印第4个字段为
0000
00000000
的行,并将输出存储在
$sampFile
指向的文件中

1,2,3,00
2,2,3,0000
3,2,3,000
4,2,3,00000000
5,2,3,0000

# Cleaner version 
awk '{FS=OFS=","; if ($4 == "0000" || $4 == "00000000") print}' file
2,2,3,0000
4,2,3,00000000
5,2,3,0000

那么哪一行包含0000或00000000,这些行将被添加到sampFile中,一行接一行,对吗?请注意,只有当第四个值/列/记录正好有4或8个零时,该行才会被添加到
$sampFile
.Cleaner:
awk-F',$4~/^0000(0000)?$/'文件
如果您使用的awk支持重新间隔:
awk-F,'$4~/^(0000){1,2}$/'文件
。是的,我不认为在这里使用“聪明”是合适的,请继续使用awk提示,我从未见过
重定向--这应该是
|