我是shell脚本的新手。所以请帮我解决这个问题。
我有一个包含
的文件c1.txtList of devices attached
0000000000000000 device
1234567891234567 device
我需要使用循环将上述内容与设备列表的子集进行比较。
例如:
v=c1.txt
while [$v!=0]
if ($v==1234567891234567 or 1234567891234566 or 12345678912345645)
echo "XXX device"
else
echo "YYY device"
我的语法错了,但我已经给出了我期望的逻辑流程。 请帮助我解决这个问题
答案 0 :(得分:0)
您可以使用grep
。例如,
grep -E '1234567891234567|1234567891234566|12345678912345645' c1.txt
会在文件1234567891234567
中列出与1234567891234566
,12345678912345645
或c1.txt
匹配的设备。
如果您要列出输入中不匹配的设备,可以向-v
提供grep
选项:
grep -Ev '1234567891234567|1234567891234566|12345678912345645' c1.txt
答案 1 :(得分:0)
这样的东西?
while read device name; do
case $device in
1234567891234567 | 1234567891234566 | 12345678912345645)
echo "XXX device" ;;
*)
echo "YYY device" ;;
esac
done <c1.txt