【发布时间】:2017-09-18 01:07:40
【问题描述】:
我有一个以空格分隔的文件,我需要将其转换为管道分隔,但是当它在每一行中遇到特定模式时,它需要在执行 sed 时排除这些模式。
a char(30) NOT NULL
b LARGEINT NOT NULL
c TIMESTAMP
d numeric(10, 3)
预期输出
a|char(30)|NOT NULL
b|LARGEINT|NOT NULL
c|TIMESTAMP|
d|numeric(10, 3)|
在替换空格时,需要忽略 (10, 3) 中的空格和 NOT NULL。 我尝试了以下方法,但没有成功
sed -ri '|, |!s|\ /\|/g' abc.txt
感谢您提供这方面的任何帮助。
【问题讨论】:
-
所以输出应该是这样的:a|char(30)|NOT NULL?
-
也给出你的预期输出。是否要替换
char(30)和NOT NULL之间的空格 -
预期的输出是 a|char(30)|NOT NULL
-
这两行后面必须有一个
space。