我有一个列表,其中包含两种不同格式的许多条目:
Generated Request {some text} easy level group X
---or---
easy level group X {some text}
其中 X 是 1-6 位长之间的数字。
我正在尝试逐行浏览该文件并将所有内容减少到每行上的“组X”(以便我可以将其与另一个文件进行比较)。
我将在下面发布我的尝试,这样你就可以和我一起笑了,但我只是学习了 bash、awk 和 sed 的基础知识,所以我现在为这种对良好脚本的攻击表示歉意......
for line in $(< abc.txt);do
if [ ${line:0:2} == "Ge" ] then
awk '{print $8,$9}' $line >> allgood.txt
elif [ ${line:0:2} == "ea" ] then
awk '{print $3,$4}' $line >> allgood.txt
fi
done
尝试的逻辑是,如果它以“Ge”开头,则提取短语 $8 和 $9 并附加到文件中。如果它以“ea”开头,则提取短语 $3 和 $4 并附加到同一个文件中。但是,这根本不起作用。
有什么想法吗?