我需要在整个文本中通过指定的分隔符(' \ n \ n' - 双换行符)读取bash中的文本文件(不仅在单行中)。 E.g:
aaaaaaaaaa
aaaaaaaaaaa
bbbbbbbbbbb
bbbbbbbbb
bbbbbbbbbb
应该如上所述,而不是那样:
aaaaaaaaaa
aaaaaaaaaaa
bbbbbbbbbbb
bbbbbbbbb
bbbbbbbbbb
我尝试使用-d $' \ n \ n' (它只支持一个字符?)标志等但没有成功。
稍后完成
答案 0 :(得分:0)
我会使用perl
perl -00 -ne 'do_something_with($_)' file
但是如果你需要使用bash试试这个(未经测试的)
paragraph=""
while IFS= read -r line; do
if [[ -z $line ]]; then # an empty line
if [[ -n $paragraph ]]; then # allow for consecutive empty lines
do_something_with "$paragraph"
fi
paragraph=""
else
paragraph+="$line"
fi
done < file
请注意,包含空格的行将不注册为空