首页 > 解决方案 > Unix 中的模式转换

问题描述

我是 shell 脚本的新手,我有一个包含多条记录的文本文件,第一条记录结束和第二条记录在同一行开始,如下所示

"-}{"

所以我想打破链条

"-} #line1

{ #line2"

我尝试如下:方法1

sed 's/\-\}\{//\-\} \n \{' file.txt

方法二

tr '-}{' '\n'

谁能帮我解决这个问题?

标签: unixawksedtr

解决方案


逃避太多。

也是s/<pattern>/<replacement>/。有3个/,最后一个放在最后。

$ echo '"-}{"' | sed 's/-}{/-} \n {/'
"-} 
 {"

不可能 with tr,tr用于字符翻译。如果您愿意,可以tr -- '-}{' '\n'用换行符tr替换任何-,}{


推荐阅读