Shell 我们如何使用'~|~';使用脚本命令拆分记录的分隔符?
请建议如何拆分用分隔符分隔的列。(文件:abc.dat) 我正在尝试低于awk命令,但得到输出0计数Shell 我们如何使用'~|~';使用脚本命令拆分记录的分隔符?,shell,awk,delimiter,script,Shell,Awk,Delimiter,Script,请建议如何拆分用分隔符分隔的列。(文件:abc.dat) 我正在尝试低于awk命令,但得到输出0计数 awk -F'~|~' '$2 == 1' ${file} | wc -l 有了您展示的样品,请尝试以下内容。我们不需要将wc命令与awk一起使用,它可以在awk本身内完成 awk -F'~\\|~' '$2 == 1{count++} END{print count}' "$file" 说明:将字段分隔符设置为~(此处转义)。然后检查第二个字段是否为1,然后用1递增变量
awk -F'~|~' '$2 == 1' ${file} | wc -l
有了您展示的样品,请尝试以下内容。我们不需要将
wc
命令与awk
一起使用,它可以在awk
本身内完成
awk -F'~\\|~' '$2 == 1{count++} END{print count}' "$file"
说明:将字段分隔符设置为~
(此处转义
)。然后检查第二个字段是否为1
,然后用1递增变量计数。在该程序的END
块中,打印其值
要将值保存到shell变量中,请使用以下命令:
var=$(awk -F'~\\|~' '$2 == 1{count++} END{print count}' "$file")
有了您展示的样品,请尝试以下内容。我们不需要将
wc
命令与awk
一起使用,它可以在awk
本身内完成
awk -F'~\\|~' '$2 == 1{count++} END{print count}' "$file"
说明:将字段分隔符设置为~
(此处转义
)。然后检查第二个字段是否为1
,然后用1递增变量计数。在该程序的END
块中,打印其值
要将值保存到shell变量中,请使用以下命令:
var=$(awk -F'~\\|~' '$2 == 1{count++} END{print count}' "$file")
您还可以将
~[|]~
用作FS
值,因为括号表达式中使用的管道字符始终与自身匹配,管道字符:
counter=$(awk'BEGIN{FS=“~[|]~”}$2==1{cnt++}END{print cnt}文件)
见:
s='a~ | ~1~ | ~x
b~ | ~1~ | ~y
c~ | ~2~ | ~z'
counter=$(awk'BEGIN{FS=“~[|]~”}$2==1{cnt++}END{print cnt}'您也可以使用~[|]~
作为FS
值,因为括号表达式中使用的管道字符始终与其自身匹配,管道字符:
counter=$(awk'BEGIN{FS=“~[|]~”}$2==1{cnt++}END{print cnt}文件)
见:
s='a~ | ~1~ | ~x
b~ | ~1~ | ~y
c~ | ~2~ | ~z'
counter=$(awk'BEGIN{FS=“~[|]~”}$2==1{cnt++}END{print cnt}感谢您的快速响应,工作如期。您能建议我们如何使用您的解决方案将计数存储到变量中。@R\u Kalavadiya,使用类似:var=$(awk-F'\\\\\~'$2==1{count count++}END{print count}'file)
应该是很好的IMHO。为什么需要``FS for awk?@user1934428,要使它像文字字符一样对待它,请看一次:awk-F'~| ~'''{for(i=1;i@User123,是的,当我们用"
然后我们需要像\\\\\\\\\\\\\\\\\
一样使用\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
我们也需要逃逸,因为为了让它理解它的字面特征,以及我们正在谈论的\\\\\\
,这就是为什么专家建议使用\\\\\\\\\\\\\\\
单引号,而不是双引号,干杯。谢谢您的快速回复,工作如期。您能建议我们如何使用您的解决方案将计数存储到变量中吗?@R\u Kalavadiya,使用like:var=$(awk-F'\\\\\\\\\\\\\\\\\\\\''$2==1{count++}END{print count}'''$file”)
应该是很好的IMHO。为什么有必要使用'\`FS for awk?@user1934428将其视为文字字符,请参阅一次:awk-F'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'''(i=1;i@User123,是的,当我们用“
然后我们需要使用类似\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/code>的方法,我们也需要使用\\\\\\\\\\\\\\\\\\\\
以及\\\\\\\\\\\\\\\\\\\\\\\\\\\
的方法,因为要让它理解我们所说的文字特征,
这就是为什么专家建议使用单。