我正在嘗試搜索並替換一個字符串,在shell腳本中對該模式進行反向搜索。如何在shell腳本中進行反向搜索
我試圖與下面的,但它不是爲我工作
sed -r 's/ $/,/'
我試圖將此搜索和具有內容的文件替換像下面
0 1 2 Comp level
我想第三個空格替換爲逗號
輸出應該像
0 1 2,Comp level
我正在嘗試搜索並替換一個字符串,在shell腳本中對該模式進行反向搜索。如何在shell腳本中進行反向搜索
我試圖與下面的,但它不是爲我工作
sed -r 's/ $/,/'
我試圖將此搜索和具有內容的文件替換像下面
0 1 2 Comp level
我想第三個空格替換爲逗號
輸出應該像
0 1 2,Comp level
要通過,
更換第三空間:
echo '0 1 2 Comp level' | sed 's/ /,/3'
輸出:
0 1 2,Comp level
謝謝,我不知道有這個標誌。 –
感謝賽勒斯,但它是一個前向搜索,在這裏應用,我的數據可能是0 1 2,比較級別或它也可能是0 1 2 3 4,比較級別,所以表示跳過數量的標誌是應用於模式將是動態的,如果我做一個向前搜索 –
@BlessonMathew:試試這個:'echo'0 1 2 Comp level'| rev | sed's//,/ 2'| rev'或'echo'0 1 2 Comp level'| sed -E'/([^ 0-9])/,\ 1 /'' – Cyrus
「做一個*落後*搜索」 - 爲什麼?這將如何幫助? –
爲什麼倒退?一個簡單的正則表達式可以很容易地處理這個問題 –
我正在做一個向後搜索的原因是我有[這將在腳本中動態生成]的文件中,我確信我需要在第三個最後模式中的逗號,但在做向前搜索我不知道我需要跳過多少模式 –