中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux下sed命令的使用方法

發布時間:2021-07-28 18:15:39 來源:億速云 閱讀:170 作者:chen 欄目:大數據

這篇文章主要介紹“linux下sed命令的使用方法”,在日常操作中,相信很多人在linux下sed命令的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”linux下sed命令的使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

# 選項與參數:
# -n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數據一般都會被列出到終端上。但如果加上 -n 參數后,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
# -e :直接在命令列模式上進行 sed 的動作編輯;
# -f :直接將 sed 的動作寫在一個文件內, -f filename 則可以運行 filename 內的 sed 動作;
# -r :sed 的動作支持的是延伸型正規表示法的語法。(默認是基礎正規表示法語法)
# -i :直接修改讀取的文件內容,而不是輸出到終端。
#  
# 動作說明: [n1[,n2]]function
# n1, n2 :選擇操作的行數, 2, 5function代表2到5行, 2, +5function 代表第二行開始往后5行
# !function取反
#  
# function:
# a :新增行, a 的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)
# c :取代行, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!, 格式: 
# d :刪除行,d 后面通常不接字符串;格式: 
# i :插入行, i 的后面可以接字串,而這些字串會在新的一行出現(目前的上一行);
# p :列印行,將某個選擇的數據印出。通常 p 會與參數 sed -n 一起運行~
# s :取代,可以直接進行取代的工作!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是, 末尾不加g只替換每一行的第一個匹配的字符串
# c和s 的區別, 與s的區別s是只替換匹配到的字符串, c是替換匹配到的字符串的行


#例子:
    #建一個測試文件
    echo -e "you are my love\nhello word\nfuck coding\nhttp://baidu.com" > test.txt


    # 不加選項, 操作后的結果打印到屏幕, 不會修改test.txt

        # function s
            # you替換成he
            sed 's/you/he/' test.txt
            # 1到2行的a替換成b
            sed '1,2s/a/b/' test.txt

        #function a, 在有hello行的下一行插入 k, a后面的\可以不要加上好看些
            # 匹配到hello的下一行添加一行k
            sed '/hello/a\k' test.txt
            # 1到2行每行后面添加一行k
            sed '1,2a\k' test.txt

        # function c, 替換有hello的的行為 k, c后面的\可以不要加上好看些
            # 匹配到的hello的行替換成k
            sed '/hello/c\k' test.txt
            # 1到2行替換成k
            sed '1,2c\k' test.txt

        # function i, 和a一樣, 只不過這個是在匹配行的上一行插入

        # function p, !p取反, 與-n配合使用
            # 打印匹配到的行, 或取反
            sed -n '/hello/p' test.txt
            sed -n '/hello/!p' test.txt

            # 打印1到2行, 或取反
            sed -n '1,2!p' test.txt
            sed -n '1,2p' test.txt

        # function d
        # 刪除匹配到的行, 或取反
            sed '/hello/d' test.txt
            sed '/hello/!d' test.txt

        # 刪除1到2行, 或取反
            sed -n '1,2!p' test.txt
            sed -n '1,2p' test.txt


    # -i 選項, 這個用的比較多, 這個直接操作文件用法一樣, 效果和 sed '/hello/d' test.txt > test.txt 一樣.
    # 其他選項自己琢磨

到此,關于“linux下sed命令的使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云霄县| 和田市| 咸阳市| 鄂托克前旗| 桂林市| 锡林浩特市| 沾化县| 阜平县| 水富县| 张家港市| 论坛| 莱西市| 凤庆县| 扎鲁特旗| 白朗县| 乡宁县| 津市市| 昌吉市| 抚远县| 从化市| 雷波县| 德令哈市| 哈巴河县| 敦化市| 那坡县| 岑巩县| 甘泉县| 凌云县| 剑川县| 巧家县| 陆丰市| 邻水| 资兴市| 汤阴县| 宝应县| 泰来县| 涿州市| 永善县| 那坡县| 五常市| 苍山县|