尝试创建一个bash脚本,该脚本逐行读取文件(参数1)。如果脚本包含与搜索字符串之一匹配的关键字,则脚本将仅回显该行。到目前为止,我所拥有的是:
#!/bin/bash
searchString1="TASK"
searchString2="WD's"
while read line
do
name=$line
if [[ $searchString1 == *"$name"* ]] ;
then
echo $name;
elif [[ $searchString2 == *"$name"* ]] ;
then
echo $name;
fi
done < $1
脚本运行为:
chmod +x parser_script.sh
./parser_script.sh filename.txt
此bash脚本未检测到搜索字符串。任何想法如何解决这个问题?谢谢
测试是落后的。
if [[ $name == *"$searchString1"* ]]; then
echo $name
elif [[ $name == *"$searchString2"* ]]; then
echo $name
fi
其他编写方式:
if [[ $name == *"$searchString1"* ]] ||
[[ $name == *"$searchString2"* ]]
then
echo $name;
fi
case $name in
*"$searchString1"*|*"$searchString2"*)
echo $name
;;
esac
如评论中所述,您可以通过一个grep
或一个awk
电话来执行此操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句