[Shell]利用sed修改文件 獲取指定字符串所在行號,刪除行,寫入行


測試文件test.txt 內容如下:

wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt
line 1
line 2
line 3
line 4

獲取行

方式1:使用grep命令:grep -n "<指定字符串>" 文件名稱 | cut -d ":" -f 1

wangju@wangju-HP-348-G4:~/Desktop$ grep -n "line 2" test.txt |cut -d ":" -f 1
2

方式2:使用sed,sed -n -e "/<指定字符串>/=" 文件名稱

wangju@wangju-HP-348-G4:~/Desktop$ sed -n -e "/line 2/=" test.txt 2

刪除行

sed -i "<行號> d" 文件名稱,-i表示保存刪除操作

wangju@wangju-HP-348-G4:~/Desktop$ sed  -i  "2 d" test.txt wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt line 1 line 3 line 4

寫入行

追加:a 在當前行后添加一行或多行 

wangju@wangju-HP-348-G4:~/Desktop$ sed -i "2 a\ new line 2" test.txt wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt line 1 line 3
 new line 2 line 4

插入:i 在當前行之前插入文本 

wangju@wangju-HP-348-G4:~/Desktop$ sed -i "2 i\ new line insert" test.txt wangju@wangju-HP-348-G4:~/Desktop$ cat test.txt line 1
 new line insert line 3
 new line 2 line 4

 

參考文檔:

Shell_sed


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM