shell脚本:一个文件里面有执行命令,分别用逗号分开。怎么取出并执行

例:一个1.scv文件
内容为 1, 2, ./a1,./a2,
2, 2, ./b1, ./b2,
3, 3,./c1, ./c2 , ./c3,
第一列的1,2,3代表序列号,第二列的2,2,3代表这一行有多少个执行命令,我想把一行一行取出执行命令来执行,比方第一次执行./a1和./a2,第二次./b1 和./b2

awk -F, '{ for(i=3;i<=NF;i++) if(length($i)) system($i);}' 1.txt


假设当前目录下有可执行文件 a1 a2 b1 b2 c1 c2 c3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-25
awk -F "," '{for(i=3;i<NF;i++)print $i}' 1.scv > 1.sh
chmod +x 1.sh
./1.sh
第2个回答  2013-12-25
./a 代表什么?一个普通文件,还是一个.sh文件,如果是一个普通文件,是无法用./去执行的
除非是.sh文件
相似回答