使用for循环,即cat ABC.txt
中的for循环
现在,我想从新兴字符串中切出两个不同的字段,并希望从文件中提取这些子字符串。
Ex
for I in `cat ABC.txt`
do
field1=`cut -c10-15 $i`
field1=`cut -c25-30 $i`
grep $field1 zzz.txt
grep $field2 zzz.txt
done
答案 0 :(得分:0)
该错误消息表示cut
命令尝试将变量$i
的内容用作文件名,而显然不存在。
要使脚本正常工作,您需要echo
变量内容并将其通过管道传递到cut
中。
#! /bin/bash
for i in `cat abc.txt`
do
# echo variable content for debugging
echo "i is ${i}"
field1=$(echo $i | cut -c10-15)
# echo variable content for debugging
echo "field1 is ${field1}"
field2=$(echo $i | cut -c25-30)
# echo variable content for debugging
echo "field2 is ${field2}"
grep ${field1} zzz.txt
grep ${field2} zzz.txt
done
也请在此处查看bash script use cut command at variable and store result at another variable或其他类似问题。