此问题在此处已有答案:
How do I use shell variables in an awk script?(9个答案)
18小时前关门了。
我需要找到某个单词在文本文件中的位置,我试着做这样的事情,但它没有工作(没有任何输出):例如,txt文件包含:
A B C
Tarun A12 1
Man B6 2
Praveen M42 3
因此,我需要找到一个单词,,Tarun”的位置,输出应为:行:2列1但没有输出
read -p "Write a word: " word
awk '{
for(i=1;i<=NF;i++)
if($i == '$word')
print "Row: " NR, "Column: " i
}' file.txt
1条答案
按热度按时间mbyulnm01#
原始代码中唯一的问题是错误地将变量
word
从bash传递到awk。按照预先存在的问题How do I use shell variables in an awk script?的答案所教导的那样使用
awk -v var="value"
来修复这个问题,代码按预期工作:正确发射: