原創文件,歡迎閱讀,禁止轉載。this
例子中是把 finish 前一行的 "yes" 改爲 "YES"
有一個方法就是利用sed+awk一塊兒來完成。spa
zjk@zjk:~$ cat a.txt line 0 is yes line 1 is yes line 2 is yes line 3 is yes finish line this line is no this line is no #//用awk找到匹配行號算出要修改的行 zjk@zjk:~$ awk '/finish/{print NR-1}' a.txt 4 #//用sed修改這行 zjk@zjk:~$ sed "4 s/yes/YES/" a.txt line 0 is yes line 1 is yes line 2 is yes line 3 is YES finish line this line is no this line is no
這有什麼實際用處呢?好比我要在某啓動腳本的exit前修改兩行代碼,就須要這麼作。code
原創文件,歡迎閱讀,禁止轉載。blog