【发布时间】:2019-03-14 02:15:59
【问题描述】:
我正在关注帖子
How to move specified line in file to other place with regexp match (bash script)?
到我的示例文件
asdasd0
-SRC_OUT_DIR = /a/b/c/d/e/f/g/h
asdasd2
asdasd3
asdasd4
DEFAULTS {
asdasd6
最终的输出应该是这样的
asdasd0
asdasd2
asdasd3
asdasd4
DEFAULTS {
-SRC_OUT_DIR = /a/b/c/d/e/f/g/h
asdasd6
我已经尝试了以下
sed "/-SRC_OUT_DIR.*/d;/DEFAULTS { /a"$(sed -n '/-SRC_OUT_DIR.*/p' test.txt) test.txt`
但它不起作用。我得到以下输出
sed:can't read =: No such file or directory
sed:can't read "/a/b/c/d/e/f/g": No such file or directory
asdasd0
asdasd2
asdasd3
asdasd4
DEFAULTS {
-SRC_OUT_DIR
asdasd6
我也想知道为什么我不能使用\1,\2来打印需要移动的行。我试过了,但它什么也没打印。如果我需要将多个匹配行移动到文件中的不同位置,我将如何编写 sed 命令?
【问题讨论】: