Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Shell awk那些值包含空白_Shell_Awk - Fatal编程技术网

Shell awk那些值包含空白

Shell awk那些值包含空白,shell,awk,Shell,Awk,我怎样才能grep那些有空间的值呢。我正在努力: awk -F '\t' '$19 ~ /[0-9[:blank:]0-9]/ {print $19}' myfile.txt 0000280000 0000209600 0000181 96 0000179586 0000122393 0000000000 您应该单独指定POSIX字符类,如下所示: awk -F '\t' '$19~/[0-9]+[[:space:]]/{ print $19 }' myfile.txt 您应该单独指定POS

我怎样才能grep那些有空间的值呢。我正在努力:

awk -F '\t' '$19 ~ /[0-9[:blank:]0-9]/ {print $19}' myfile.txt
0000280000
0000209600
0000181 96
0000179586
0000122393
0000000000
您应该单独指定POSIX字符类,如下所示:

awk -F '\t' '$19~/[0-9]+[[:space:]]/{ print $19 }' myfile.txt
您应该单独指定POSIX字符类,如下所示:

awk -F '\t' '$19~/[0-9]+[[:space:]]/{ print $19 }' myfile.txt

首先,表达式
[0-9[:blank:]0-9]
与数字
0-9
匹配。(第二个0-9是多余的)。第19列中的所有测试数据都是如此,这就是为什么它们都被打印出来的原因

如果要检查空格(空格或制表符),可以使用:

awk -F'\t' '$19 ~ /[[:blank:]]/{print $19}'
但是,由于字段是由制表符分隔的,因此您可以只使用文本空间:

awk -F'\t' '$19 ~ / /{print $19}'

除此之外,在
awk
中检查字段中的文本空间不需要正则表达式,您可以使用
index()


index()
如果字段19不包含空格,则返回零,否则返回字符串中第一次出现的位置。由于字符串索引从
awk
中的
1
开始,因此该位置将始终大于零,其计算结果为
true
,并使awk在下面的块中打印该字段。

首先,表达式
[0-9[:blank:]0-9]
匹配数字
0-9
空白。(第二个0-9是多余的)。第19列中的所有测试数据都是如此,这就是为什么它们都被打印出来的原因

如果要检查空格(空格或制表符),可以使用:

awk -F'\t' '$19 ~ /[[:blank:]]/{print $19}'
但是,由于字段是由制表符分隔的,因此您可以只使用文本空间:

awk -F'\t' '$19 ~ / /{print $19}'

除此之外,在
awk
中检查字段中的文本空间不需要正则表达式,您可以使用
index()


index()
如果字段19不包含空格,则返回零,否则返回字符串中第一次出现的位置。由于字符串索引从
awk
中的
1
开始,因此该位置将始终大于零,其计算结果为
true
,并使awk在以下块中打印该字段。

您可以使用简单的grep语句来完成此操作:

grep''filename.txt

要在特定字段中查找空间,请使用以下命令:

cat file.txt|awk -F '\t' {'print $19'}|grep ' '

您可以使用一个简单的grep语句:

grep''filename.txt

要在特定字段中查找空间,请使用以下命令:

cat file.txt|awk -F '\t' {'print $19'}|grep ' '