Ubuntu
sed/awk 文件數據操作
我有許多以數字開頭的文本文件,如下所示:
12 some text here some text here some text here
或者有時像這樣:
123 text here some more not-so-interesting text here some text here even more not-so-interesting text here
我需要它們看起來像這樣:
12 some text here some text here some text here
這可以使用 sed 或 awk 或一些命令行工具嗎?我只需要將數字放在新行上,與行上的其他文本隔離。
只需記住數字並用換行符替換它後面的空格:
sed 's/^\([0-9][0-9]*\) /\1\n/'
如果您的 sed 支持它,您可以使用擴展的正則表達式來提高可讀性:
sed -E 's/^([0-9]+) /\1\n/'
[0-9]
匹配一個數字*
意思是“零次或多次”+
意思是“至少一次”\(...\)
或者(...)
創建一個“擷取組”,第一個擷取組可以引用為\1
,等等。\n
代表換行符