【问题标题】:Check if the file contains the name shell script检查文件是否包含名称 shell 脚本
【发布时间】:2020-11-12 18:09:37
【问题描述】:

所以我有一个文本文件,我正在尝试检查文件是否包含参数中给出的名称。

我已经读完了名字,它与名字相呼应。

如果参数中的名称不在文件中,我希望代码回显文本中的所有名称

while read -r fname lname;
do
 x="$fname $lname"
 if [ "$x" != "$1" ]
 then
   echo $x
 fi
done < names.txt

【问题讨论】:

  • grep 是你的朋友,我想。
  • x="$fname $lname" ??尝试使用 shell 的调试/跟踪功能并添加 set -vx 作为脚本的第二行。这将向您显示脚本中的每一行代码,并在其下方显示已替换变量的值。请注意,-v 部分还输出任何循环作为跟踪,然后如所述在循环内进行处理。但是,是的,你知道grep srchTarget file 吗?祝你好运。
  • 如果要搜索文件中所有不等于作为参数传递的名称的名称,请使用 grep -v 进行反向匹配

标签: bash shell


【解决方案1】:

这应该可行,

read -r fname lname x="$fname $lname" if [x != $(grep $(x) filename)] then echo $x fi

更新:错误已被编辑。

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多