String 捕获忽略转义序列的字符串

String 捕获忽略转义序列的字符串,string,escaping,awk,sequences,String,Escaping,Awk,Sequences,我的输入文件包含以下条目: 0100000000010001000 1 GWSL7YE02GHT73, 0010000000000000000 1 GWSL7YE02GU6GK, 0000000000000000000 1 GWSL7YE02G5W2B, 0010000000110000000 1 GWSL7YE02I364F, 0000000000000000000 1 GWSL7YE02F4IOC, Es

我的输入文件包含以下条目:

0100000000010001000   1       GWSL7YE02GHT73, 
0010000000000000000   1       GWSL7YE02GU6GK, 
0000000000000000000   1       GWSL7YE02G5W2B, 
0010000000110000000   1       GWSL7YE02I364F, 
0000000000000000000   1       GWSL7YE02F4IOC, Escherichia_coli_O127:H6
如何仅捕获结尾有字符串的行,例如第5行。 另一件需要注意的事情是,在的每一行中都有两个转义序列“\t”“\n”。 所以在第1-5行中,不要认为在“,”之后有转义字符“\n”,但实际上是“\t”“\n”。 我确实有以下awk代码:
awk'{if($0~/[A-Z0-9_]$/)print$NF}
,但是,这假设有字母表和结尾的未得分数。实际上,名字可以以任何特殊字符结尾。我已经测试过了,因此我不得不在下面加一个下划线“\ux”。那么还有别的办法吗。我可以用
awk'{if($NF!~/一个映射的表达式,\n\t/}'


谢谢

只需查找字段大于3的行

awk 'NF>3' ./infile
概念证明
只需查找字段大于3的行

awk 'NF>3' ./infile
概念证明 你也可以试试

awk -F, 'NF>1' file
你也可以试试

awk -F, 'NF>1' file


你想准确地捕捉什么,只是
大肠杆菌O127:H6
?顺便说一句,没有第6行,只有5行。没有,有很多字符串,显示的是一个文件的一部分,有更多的字符串/科学名称/分类法。我已经将6改为5,不确定它不是什么saved@Sudeep当前位置我只是想问一下e举个例子,我知道这是广义的。但是就你刚才给出的示例输入的输出而言,你在寻找什么呢?@Sudeep:另外,在
中的逗号
E
之间是否有空格或制表符
\t
之间有“\t”你想准确地捕捉什么,只是
大肠杆菌O127:H6
?顺便说一句,没有第6行,只有5行。没有,有很多字符串,显示的是一个文件的一部分,有更多的字符串/科学名称/分类法。我已经将6改为5,不确定它不是什么saved@Sudeep当前位置我只是想问一下e举个例子,我知道这是广义的。但是就你刚才给出的示例输入的输出而言,你在寻找什么呢?@Sudeep:另外,在
中的逗号
E
之间是否有空格或制表符
\t
之间有“\t”这不起作用,如果你在
上定界,它们都会有两个字段。请尝试
awk-F,{print NF}文件
进行确认。@SiegeX,是的,我错过了。那么使用默认的FS会更好。这不起作用,如果你在
上定界,它们都会有两个字段。尝试
awk-F,{print NF}'file
确认。@SiegeX,是的,我错过了。那么使用默认的FS会更好。@SiegeX,不要挂起实际的空白字符。默认情况下,awk在“空白”上拆分字段,不管是空格还是制表符。此外,除非您指定字段分隔符,否则awk会忽略前导空格和尾随空格。@glenn我挂上空格不是因为我认为awk关心,而是因为我第一次考虑使用
sed-n'/,*/p'
作为解决方案。然后我才意识到我的awk解决方案是查看fie的数量ldsapologies,我的评论直接指向@Sudeep@glenn aha。我以为你是在评论我在OP=)中的评论。另外,没什么可道歉的,我们在这里都是朋友@Siegex,不要被实际的空格字符挂断。默认情况下,awk在“空白”上拆分字段,不管它是空格还是制表符。另外,除非指定字段分隔符,否则awk会忽略前导和尾随空格。@glenn我之所以挂起空格,不是因为我认为awk关心,而是因为我第一次考虑使用
sed-n'/,*/p'
作为解决方案。然后我才意识到我的awk解决方案是查看野外考古的数量,我的评论直接指向@Sudeep@glenn aha。我以为你在评论我在OP=)中的评论。另外,没什么可道歉的,我们在这里都是朋友=)