sed常見用法總結

2021-12-30 12:46:12 字數 1916 閱讀 2517

編輯文字

sed -i '1i xyz' test.txt 在第一行之前

sed -i '1a xyz' test.txt 在第一行之後插入

sed -i '1c xyz' test.txt 把第一行資料替換成xyz

sed '/^bb/i\kjdlfkjdslkf' temp.txt //在匹配的行之前加入新一行

sed '/^bb/a\kjdlfkjdslkf' temp.txt //在匹配的行之後加入新行

sed -n '/***/w temp.txt' temp1.txt 中匹配***的行插入到temp.txt

sed '/xx/c\sdfdsf' temp.txt //用新的一行資料替換匹配xx的行

sed '1d' t.txt /刪除檔案第一行

sed '/bro/d' t.txt //刪除帶bro的行 (實際修改,刪除等加-i)

sed '/^$/d' t.txt //刪除空行

sed 's/^.*uid//' t.txt //將uid前這段字元替換成空,^第乙個字元不能為*,要加.,另外在sed裡字元與*連線要加.

sed 's/night/night/' 1.txt //將night替換 (加 -i 直接修改原始檔1.txt,而不是將替換後的資料輸出到螢幕)

sed 's/night/night/g' 1.txt 替換所有,不加g一行只替換一次

sed 's/.html//' b.txt >b0.txt

sed 'y/bo/bo/' test.txt //將b替換成b,o替換成o

sed 'y/bb ll/bb ll/' test.txt //將bb替換成bb,ll替換成ll

查詢文字

sed '/he/w test1.txt' test.txt //讀取test.txt內容匹配he的行寫入test1.txt

sed '1,2w test1.txt' test.txt //讀取test.txt內容,第一二行寫入test1.txt

sed '/he/r test1.txt' test.txt //讀取test.txt內容匹配he的行與test1.txt所有內容合併後輸出

sed -n '1,3p' getrow.sh //顯示一行到三行的肉容

sed -n '1,/hello/'p orig.txt //從第一行開始列印,列印到第乙個含有hello行

//n的作用是取消預設輸出 只列印包含模板的行,預設為列印所有行(編輯和未編輯)

sed -n '$p' getrow.sh //最後一行

sed -n '/echo/'p while.sh //列印包括echo字元的行 /pattern/模式

sed -e '/echo/=' while.sh //並且列印行號(並且整個檔案都列印) -n 只列印實際行號 列印行號使用=

sed -n -e '/dfs.support.append/=' hdfs-default.xml

sed -n -e '/we/p' -e '/we/=' 2.txt //只列印匹配的行,並行顯示行號

sed -n '/aa/=' aa.txt //只顯示匹配上的行號

sed -n '/^h/'p test.txt //顯示h為開頭的行

sed '/^hello/d' test.txt //查詢非某某開頭的寫法

sed -n '/s\/'p test.txt //s字元至少匹配兩次

sed -n '/[0-9]\/'p test.txt //包含數字的行,用[0-9]+不支援

sed '2q' test.txt //列印到第二行退出

需要注意的是,sed並不直接操作初始資料,它操作的是乙份原始資料的拷貝。sed處理時,把當前處理的行儲存在臨時緩衝區中,然後處理緩衝區中的內容,處理完成後,如果沒有重定向到檔案, 將把緩衝區中的內容送往螢幕,接著處理下一行直到處理完畢

sed常見用法總結筆記

sed是特別出色的文字處理工具,學習sed,一定會碰到這些常見操作。1 sed n 作用 取消預設列印模式空間中的內容 比如 sed p youth.txt 本來我們希望列印出文字中內容,結果每一行都列印了兩次。所以sed n p youth.txt 才是正確寫法 2 sed i 作用 直接修改檔案...

sed常見用法(一)

test.txt 內容 abcefg asdf abcd bfabc 1.在內容為abc的前一行插入123 sed e abc i 123 test.txt 修改後內容 123abc efgasdf abcd bfabc 2.將含有abc字串的行替換為123 sed e abc c 123 test...

sed 用法總結

sed n 1,3 p filename 列印1 3 行sed n if fi p filename 列印字元if和 fi之間的內容 sed e 1996 d filename 刪除除了含有 1996 的所有行 sed e y abc abc filename 把小寫的 abc轉換成大寫的 abc ...