Я перенаправил некоторую ценную информацию в текстовый файл. Как я могу выполнить каждую строку этого текстового файла в цикле?
Что я имею в виду, это сделать двойной пробел в моем текстовом файле, а затем использовать цикл для индивидуального выполнения каждой строки. Я надеюсь, что когда я сделаю двойной пробел в текстовом файле, каждая строка команд будет иметь свою собственную строку.
Например, этот текстовый файл:
cat / etc / passwd | голова -101 | tail -3 nl / etc / passwd | голова -15 | cut -d ':' -f1 cat / etc / passwd | cut -d ':' -f1,5 | tee users.txt nl / etc / passwd | хвост -1 | cut -f1 ls ~ / home | нл | хвост -1 | cut -f1 ls -lR / 2> / dev / null | сортировать -n -r +4 | голова -1
должно выглядеть так, когда я делаю двойные пробелы:
cat / etc / passwd | голова -101 | хвост -3
nl / etc / passwd | голова -15 | cut -d ':' -f1
cat / etc / passwd | cut -d ':' -f1,5 | тройник users.txt
nl / etc / passwd | хвост -1 | cut -f1
ls ~ / home | нл | хвост -1 | cut -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"
Это правильный путь?