所以,我正在写一个脚本,我有一个这样的文本文件:
blahblahblahdeleteme
<!-- post -->
This is the text I want to keep! Pick me!!
<!-- post navigation -->
more text please delete me I am not needed....
我想删除第一个和最后一个部分(以及标记,如果容易完成)并将文本保留在中间。
现在,我知道bash通常不是最好的解析这样的文本,但因为它很简单,我想我也可以坚持使用bash。这是否像我认为的那样容易?
我发现了这篇文章:split text file in two using bash script
我可以将它分成两个文本文件,然后再分成两个文本文件,只保留中间文件。这是我最好的选择吗?请告诉我!
答案 0 :(得分:5)
sed '1,/<!-- post -->/d;/<!-- post navigation -->/,$d' file
答案 1 :(得分:2)
awk '/<\!-- post --/,/<\!-- post navigation/' file
答案 2 :(得分:1)
awk
:
/^<!-- post -->/ { if (start != 1)
{ start=1; firstline=1;}
}
/^<!-- post navigation -->/ {start=0;}
{ if (start == 1 && firstline != 1)
{ print $0; }
firstline=0;
}