【发布时间】:2021-07-28 15:50:10
【问题描述】:
grep 命令有问题。
我有一个名为 dictionary.txt 的文件,其中包含 2 列单词,例如
abc def
apple orange
hour minute
在我的 Bash 脚本中,在左栏中输入单词作为参数后,我必须使用 grep 命令在右侧输出相应的单词。
要求是使用循环。
我创建了这个脚本:
#!/bin/bash
parola=$1
for traduzione in $( sort dictionary.txt )
do
if [ $parola == $traduzione ]
then
grep $traduzione | cut -f 2 dictionary.txt
fi
done
如上所述,这不起作用。
【问题讨论】:
-
您的脚本中有许多 潜在 问题(超出我的评论范围),但您没有告诉我们具体是什么,确切,你有问题,所以很难回答。
-
grep | cut几乎总是更好的拼写awk -
cut的具体问题是它需要制表符分隔的输入,而不是空格分隔。 -
在这里对文件进行排序似乎完全是多余的。