Nl
如果正則表達式匹配,nl 添加數字後綴?
如果我有一個文本文件這樣說:
Xgrep () { something ; } Xgrep Xgrep Xgrep Xgrep Xgrep
我希望它看起來像這樣
Xgrep () { something ; } Xgrep 12 Xgrep 13 Xgrep 14 Xgrep 15 Xgrep 16
這意味著我想選擇從哪個數字開始,使用後綴而不是前綴,中間有一個空格(之間
-s " "
有一個空格)。我認為我可以使用nl
它,但閱讀手冊頁似乎並非如此。我試過這個:nl -b pexpr=Xgrep -s " " ~/desktop/test.txt
然而,這只是把這個:
Xgrep Xgrep Xgrep Xgrep Xgrep
這可能是因為正則表達式語法錯誤但我找不到匹配的方法,它只是列出了用法的所有其他方式。
這個網站幾乎正是我想要做的,但是以命令行形式並且只有數字後綴。
% perl -ple 'BEGIN{$i=12} s/^(Xgrep)\s*$/"$1 ".$i++/e' < in Xgrep () blah Xgrep 12 Xgrep 13 Xgrep 14 Xgrep 15 Xgrep 16 Xgrep 17 %
列印行,開始計數器,匹配 Xgrep 並將遞增的數字添加到末尾。如果需要,替換為文件名並就地向 clobber 文件
< in
添加標誌。解決方案可能看起來非常相似-i
。awk