我已将一些有价值的信息重定向到一个文本文件中。如何循环执行该文本文件的每一行?
我的想法是将我的文本文件加倍空间,然后使用循环单独执行每一行。我希望当我将文本文件加倍空间时,每个命令字符串都有自己的行。
例如,这个文本文件:
猫 /etc/passwd | 头-101 | 尾 -3 nl /etc/passwd | 头-15 | cut -d':' -f1 cat /etc/passwd | 剪切 -d':' -f1,5 | tee users.txt nl /etc/passwd | 尾-1 | 剪切-f1 ls ~/home | 荷兰 | 尾-1 | 剪切-f1 ls -lR / 2>/dev/null | 排序 -n -r +4 | 头-1
当我把它加倍时应该是这样的:
猫 /etc/passwd | 头-101 | 尾 -3
nl /etc/passwd | 头-15 | cut -d':' -f1
cat /etc/passwd | 剪切 -d':' -f1,5 | tee users.txt
nl /etc/passwd | 尾-1 | 剪切-f1
ls ~/home | 荷兰 | 尾-1 | 剪切-f1 ls -lR / 2>/dev/null | 排序 -n -r +4 | 头-1
然后我会使用一个循环来执行每一行。
这是我的脚本:
FILE="$1"
echo "You Entered $FILE"
if [ -f $FILE ]; then
tmp=$(cat $FILE | sed '/./!d' | sed -n '/regex/,/regex/{/regex/d;p}'| sed -n '/---/,+2!p' | sed -n '/#/!p' | sed 's/^[ ]*//' | sed -e\
s/[^:]*:// | sed -n '/==> /!p' | sed -n '/--> /!p' | sed -n '/"lab3.cmd"/,+1!p'\
| sed -n '/======/!p' | sed -n '/regex/!p' | sed -n '/commands are fun/\
!p' | sed -n '/regex/!p')
fi
MyVar=$(echo $tmp > hi.txt)
echo "$MyVar"
这是正确的方法吗?