unix - Unix 中的模式转换

标签 unix awk sed tr

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

"-}{"

所以我想打破这个链条

"-} #line1

{ #line2"

我试过如下: 方法一

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

方法二

tr '-}{' '\n'

谁能帮我解决这个问题?

最佳答案

使用您展示的示例,请尝试遵循 awk 代码。只需将 -}{ 替换为 -} 新行 { 并打印值。

echo '"-}{"' | awk '{sub(/-}{/,"-}\n{")} 1'

关于unix - Unix 中的模式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68508969/

相关文章:

python - 使用通配符从 Python Popen 调用 'mv'

awk - 了解 gnuplot 如何使用 awk 脚本

linux - Sed 根据引号处理引号内的逗号以及多个引号内不带逗号的数据进行拆分

linux - 在匹配前一行插入文件内容,同时转义反斜杠

php - 在 php 中获取给定月份和年份的开始和结束 unix 时间戳

oracle - 管道破裂迭代?

SED 解析输出文件中的两个值

shell - 从丑陋的命令行管道创建整洁的 shell 脚本

unix - 如何在 sed 的命令中使用变量?

regex - AWK 如果在两行相似的行中没有找到模式,则打印找到模式的行