unix - Unix 中的模式转换
问题描述
我是 shell 脚本的新手,我有一个包含多条记录的文本文件,第一条记录结束和第二条记录在同一行开始,如下所示
"-}{"
所以我想打破链条
"-} #line1
{ #line2"
我尝试如下:方法1
sed 's/\-\}\{//\-\} \n \{' file.txt
方法二
tr '-}{' '\n'
谁能帮我解决这个问题?
解决方案
逃避太多。
也是s/<pattern>/<replacement>/
。有3个/
,最后一个放在最后。
$ echo '"-}{"' | sed 's/-}{/-} \n {/'
"-}
{"
不可能 with tr
,tr
用于单字符翻译。如果您愿意,可以tr -- '-}{' '\n'
用换行符tr
替换任何-
,}
和{
。
推荐阅读
- npm - 尝试使用 tailwind 构建一个简单的 webpack,出现未知单词错误
- apache-spark - 在 pyspark 中使用管道运算符后收集问题
- python - discord.py 重写删除作者信息
- node.js - 如何检查 AWS Lambda 和 Elasticbeanstalk 中的次要 Node.js 版本?
- c# - 如何使用 c# 套接字从外部网络计算机或同一网络内连接到我的本地服务器
- c - 哪个代码效率更高,额外的 If 语句或重复的函数
- angular - 如何根据下拉值在 Angular 表单中添加/删除或显示/隐藏文本框
- bash - 如果变量在另一个变量的范围内
- reactjs - 有没有办法通过外部组件或按钮折叠和展开 ReactJS Bootstrap Accordion?
- javascript - 组件未在按钮单击时更新,反应