美好的一天,
我想知道是否有办法通过指示字段分隔符来了解模式的位置。
预期输入
字段分隔符= ,
pattern = word
abc,def,ghi,word,jkl
mno,pqr,word,stu,vwx
预期输出
word,1,4
word,2,3
上一个输出遵循以下结构:PATTERN,NR,FIELD POSITION
提前感谢任何线索。
答案 0 :(得分:4)
以下是解决您的要求的解决方案:
$ awk -v str="word" 'BEGIN{FS=OFS=","} {for (i=1;i<=NF;i++) if ($i==str) print str,NR,i}' file
word,1,4
word,2,3
答案 1 :(得分:1)
使用perl:
perl -F, -lanE 'BEGIN {$str=shift; $,=","} say $str,$.,$_+1 for grep {$F[$_] eq $str} 0..$#F' "word" file