我想單行以下工作命令在bash運行它:單行CMD的sed的Mac OSX埃爾卡皮坦
LANG=C sed -E '
s/$/\\z/
:while
s/([0-9]{6})(.*\\z.*)/\2 "\1"/
twhile
s/.*\\z//' myfile.txt
爲myfile.txt的樣品:
123456 \ r \ n \ r \ n 789112 \ r \ n 889667
輸出上述CMD(這是預期的結果) :
「123456」, 「789112」, 「889667」
既不此:
LANG=C sed -E 's/$/\\z/; :while; s/([0-9]{6})(.*\\z.*)/\2 "\1"/; twhile; s/.*\\z//' myfile.txt
輸出:
123456 \ r \ n \ r \ n 789112 \ r \ n 889667 \ z
或者這其實工作原理:
LANG=C sed -E 's/$/\\z/' -E :while -E 's/([0-9]{6})(.*\\z.*)/\2 "\1"/;twhile' -E 's/.*\\z//' myfile.txt
輸出:
sed可以:-E:沒有這樣的文件或目錄
sed的:當:沒有這樣的文件或目錄
的sed :-E:沒有這樣的文件或目錄
sed:s /([0-9] {6})(。 \ z。)/ \ 2 「\ 1」/; twhile:sed的沒有這樣的文件或目錄
:沒有這樣的文件或目錄
的sed:-E小號/.* \ž//:沒有這樣的文件或目錄
123456 \ r \ n \ r \ n 789112 \ r \ n 889667 \ž
其結果是,既顯示該文件的一個且僅行,而不是圖案的多個實例的/ [0-9] {6}/
我相信我很想念g關於如何使用分號的東西..
你會得到什麼錯誤? – 123
兩者都顯示文件的唯一一行,而不是模式/ [0-9] {6} /的多個實例。錯過了這篇文章的帖子,謝謝;) – user2702566
你能提供樣本輸入和輸出嗎? – 123