根据条件插入行跳转,Bash Ubuntu
Insert line jump according to a condition, Bash Ubuntu
我要在 ubuntu 的 bash 中编辑以下文本:
Fo, 68
Fo, 55**Fm**, 328
Fv, 273
Fv/Fm, 0.832
PAR,
TEMP,
Fs, 65
Fm', 91
èPS2, 0.286,
正文继续,但以上是根本统一。
我想在第一个Fm之前插入一个换行符(在第二行,不是说只有在第二个),所以我尝试了:
sed -e 's/Fm/\nFm/g'
但是这个命令也在Fv/Fm的栏/之后插入一个跳转行。我想避免这种情况,因为我有兴趣保留 Fv/Fm。换句话说,我需要以这种形式保存 Fv/Fm。
谢谢!
假设:
- 想插入一个
\n
before字符串Fm
if ...
Fm
前面的字符是一个数字 ([0-9]
)
- 整个文件中可能要执行多个替换(即,不要将替换限制在第一次出现的位置)
样本输入(添加最后 3 行以证明假设):
$ cat x
Fo, 68
Fo, 55Fm, 328 # insert '\n' before this 'Fm'
Fv, 273
Fv/Fm, 0.832 # leave this 'Fm' alone
PAR,
TEMP,
Fs, 65
Fm', 91 # leave this 'Fm' alone
èPS2, 0.286,
Fo, 33Fm, 328 # insert '\n' before this 'Fm'
Fo, 9XFm, 328 # leave this 'Fm' alone
Fo, 97Fm, 328 # insert '\n' before this 'Fm'
一个sed
想法:
$ sed '/[0-9]Fm/ s/Fm/\nFm/' x
Fo, 68
Fo, 55
Fm, 328 # '\n' inserted before this 'Fm'
Fv, 273
Fv/Fm, 0.832 # leave this 'Fm' alone
PAR,
TEMP,
Fs, 65
Fm', 91 # leave this 'Fm' alone
èPS2, 0.286,
Fo, 33
Fm, 328 # '\n' inserted before this 'Fm'
Fo, 9XFm, 328 # leave this 'Fm' alone
Fo, 97
Fm, 328 # '\n' inserted before this 'Fm'
我要在 ubuntu 的 bash 中编辑以下文本:
Fo, 68
Fo, 55**Fm**, 328
Fv, 273
Fv/Fm, 0.832
PAR,
TEMP,
Fs, 65
Fm', 91
èPS2, 0.286,
正文继续,但以上是根本统一。
我想在第一个Fm之前插入一个换行符(在第二行,不是说只有在第二个),所以我尝试了:
sed -e 's/Fm/\nFm/g'
但是这个命令也在Fv/Fm的栏/之后插入一个跳转行。我想避免这种情况,因为我有兴趣保留 Fv/Fm。换句话说,我需要以这种形式保存 Fv/Fm。
谢谢!
假设:
- 想插入一个
\n
before字符串Fm
if ... Fm
前面的字符是一个数字 ([0-9]
)- 整个文件中可能要执行多个替换(即,不要将替换限制在第一次出现的位置)
样本输入(添加最后 3 行以证明假设):
$ cat x
Fo, 68
Fo, 55Fm, 328 # insert '\n' before this 'Fm'
Fv, 273
Fv/Fm, 0.832 # leave this 'Fm' alone
PAR,
TEMP,
Fs, 65
Fm', 91 # leave this 'Fm' alone
èPS2, 0.286,
Fo, 33Fm, 328 # insert '\n' before this 'Fm'
Fo, 9XFm, 328 # leave this 'Fm' alone
Fo, 97Fm, 328 # insert '\n' before this 'Fm'
一个sed
想法:
$ sed '/[0-9]Fm/ s/Fm/\nFm/' x
Fo, 68
Fo, 55
Fm, 328 # '\n' inserted before this 'Fm'
Fv, 273
Fv/Fm, 0.832 # leave this 'Fm' alone
PAR,
TEMP,
Fs, 65
Fm', 91 # leave this 'Fm' alone
èPS2, 0.286,
Fo, 33
Fm, 328 # '\n' inserted before this 'Fm'
Fo, 9XFm, 328 # leave this 'Fm' alone
Fo, 97
Fm, 328 # '\n' inserted before this 'Fm'