我试过这个
sed -r "s/]]/]\n]/g" testfile.txt
但我觉得它不起作用。
我正在尝试做什么:
取
[[[sometext
将是
[
[
[sometext
或
[[[[[[[[sometext
将是
[
[
[
[
[
[
[
[sometext
答案 0 :(得分:1)
使用grep -o
比使用sed
容易得多:
s='[[[[[[[[sometext'
grep -o '\[[^[]*' <<< "$s"
[
[
[
[
[
[
[
[sometext
如果您必须使用sed
,请使用:
sed 's/\[[^[]*/&\n/g' <<< "$s"
[
[
[
[
[
[
[
[sometext
答案 1 :(得分:1)
以下是awk
版本:
echo "[[[[[[[[sometext" | awk -v RS="[" 'NR>1{$1=$1;print RS$0}'
[
[
[
[
[
[
[
[sometext
答案 2 :(得分:0)
输入:
[[[[[sometext
模式
/(\[)(?=\[.*?)/g
替换
\1\r\n
输出:
[
[
[
[
[sometext
使用sed
sed -r 's/(\[)(?=\[.*?)/\1\r\n/g' file.txt