我有以下输入:
Value1|Value2|Value3|Value4@@ Value5|Value6|Value7|Value8@@ Value9|etc...
在我的 bash 脚本中,我想用换行符替换 @@
。我用 sed 尝试过各种方法,但我没有任何运气:
line=$(echo ${x} | sed -e $'s/@@ /\\\n/g')
最终我需要将整个输入解析为行和值。也许我做错了。我计划用换行符替换 @@
,然后通过设置 IFS='|'
循环输入以拆分值。如果有更好的方法请告诉我,我还是 shell 脚本的初学者。
最佳答案
使用纯 BASH 字符串操作:
eol=$'\n'
line="${line//@@ /$eol}"
echo "$line"
Value1|Value2|Value3|Value4
Value5|Value6|Value7|Value8
Value9|etc...
关于regex - 如何使用 bash 脚本和 sed 将字符串替换为换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522132/