在方括号[]内换行(使用正则表达式)换行符

时间:2016-07-27 23:58:23

标签: regex grep newline

我想在一行文字中找到所有减号后跟一位数字的实例。这些数字用逗号分隔,但也可以在行的末尾

text.txt包含

hx,-7,u,-9,u,-8

(最后有一个换行符)

我正在运行此命令

egrep -o ',[\-][0-9][\n,]' text.txt 

得到

,-7,
,-9,

但我想得到

,-7,
,-9,
,-8

编辑: 像

这样的东西
hx,-7,u/-9,u,-8

仍然应该产生

,-7,
,-9,
,-8

并使用

egrep -o ',[\-](1|2)?[0-9XY][\,$]' text.txt

不起作用

1 个答案:

答案 0 :(得分:1)

grep以每行为基础工作,并且新行字符不匹配,因为它们被视为每行的分隔符。

How to give a pattern for new line in grep?表示pcregrep可以执行多行grep操作。

或者,您可以使用tr\n字符翻译为,,即:

cat text.txt | tr '\n' ',' | egrep -o ',[\-][0-9][\n,]'

的产率:

,-7,
,-9,
,-8,