當前位置:首頁 » 操作系統 » linux多行刪除

linux多行刪除

發布時間: 2025-01-13 13:06:01

linux怎麼刪除文件偶數行

刪除偶數行的方法如下:
?

1

:g/^/+1 d

上面用到了:gbobal命令,gbobal命令格式如下:
?

1

:[range]global/{pattern}/{command}

global命令實際上是分成兩步執行:首先掃描[range]指定范圍內的所有行,給匹配{pattern}的行打上標記;然後依次對打有標記的行執行{command}命令,如果被標記的行在對之前匹配行的命令操作中被刪除、移動或合並,則其標記自動消失,而不對該行執行{command}命令。{command}可以是一個ex命令,也可以是用|分隔的多個ex命令,這樣我們就可以對被標記行,或從標記行定址到的行進行多種不同的操作。
上面刪除偶數行的命令,先匹配所有行,然後隔行刪除(其中+1用以定位於當前行的下一行)。為什麼是隔行呢?因為在對第一行執行+1 d命令時刪除的是第二行,而第二行雖然也被標記了,但已不存在了,因此不會執行刪除第三行的命令。
刪除幾數行的命令如下:
?

1

:g/^/d|m

其中m的作用是移出偶數行的標記,防止偶數行也被刪除。
另外刪除幾數行偶數行,也可以用normal命令,分別為(第一個命令為幾數行):
?

12
:%norm jkdd:%norm jdd

❷ linuxsed命令怎麼通過正則刪除多行

要通過Linux的sed命令刪除多行,可以採用幾種不同的方法。方法之一是使用`d`命令配合行號。例如,若需刪除第5至第10行,命令如下:

`sed -i '5,10d' filename`

這里的`5,10`表示行號范圍,`d`為刪除命令,`filename`為文件名。

另一種方法是利用正則表達式刪除匹配模式的多行。命令格式如下:

`sed -n '/pattern/p;N;D' filename`

這里的`/pattern`是正則表達式,`p`表示列印匹配行,`N`表示連接下一行,`D`用於刪除連接後的行。舉例,若要刪除包含"hello"的行及其之後的兩行:

`sed -n '/hello/p;N;D' filename`

使用sed命令打開文本文件並應用正則表達式匹配目標行。例如,以下命令會打開文件`test.txt`,並匹配以「start」開始、以「end」結尾的多行:

`sed -n '/start/,/end/p' test.txt`

熱點內容
cod17編譯著色器55 發布:2025-07-08 15:43:53 瀏覽:558
Shell腳本的posix模式 發布:2025-07-08 15:41:32 瀏覽:352
壓縮奶油消泡 發布:2025-07-08 15:40:11 瀏覽:425
伺服器一定要有公網ip嗎 發布:2025-07-08 15:35:12 瀏覽:797
appendpython 發布:2025-07-08 15:22:54 瀏覽:656
安卓虛擬號碼怎麼設置 發布:2025-07-08 15:22:04 瀏覽:663
c語言愛心代碼編譯不出來 發布:2025-07-08 15:11:07 瀏覽:540
qq密碼的資料庫 發布:2025-07-08 14:54:50 瀏覽:6
多圖床源碼 發布:2025-07-08 14:46:36 瀏覽:573
sqldblinkoracle 發布:2025-07-08 14:44:50 瀏覽:608