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=)中的评论。另外,没什么可道歉的,我们在这里都是朋友=)