缺点: 此种方法在文件中出现“公正”时失效, 所以要取一个文本不曾出现过的字符串。cat text1.txt
abcxdefgaxcdyeafgxyxabefght...
试试中文字符oh, yes. x
java is not good. yes !kkk


有什么好办法来记录换行


[bash]for i in text*.txt
do
sed -r 's/$/公正/g' $i | tr -d '\n' | grep -oP 'x.*y' | sed -e 's/^x//;s/y$//;s/公正/\n/g' >out-$i
done[/bash]
处理单行的方法 #贪婪的正则
grep -oP 'x.*y' text1.txt
sed -r 's/[^x]*x//;s/y[^y]*$//' text1.txt