偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在 Linux 命令行中刪除文件中的某一行

系統(tǒng) Linux
我們介紹的例子會修改原始文件,所以如果大家在平時使用或者練習(xí)的時候,最好先做好備份。

我們大家都知道,在 vim 中刪除文件中的某幾行很簡單,只需要按下 dd 鍵即可。那么,在不主動打開文件的情況下,通過命令行怎樣刪除文件中特定的某行呢?

使用像 rm 這樣的命令,會刪除整個文件,但我們并不希望這樣做。使用 vim 或者 nano 這樣的文本編輯器,并不適用于 bash 腳本的自動化。

合適的方案,是使用 sed 命令,它可以在 shell 腳本中使用。

我們今天將介紹幾種使用的場景和例子。

注意,我們介紹的例子會修改原始文件,所以如果大家在平時使用或者練習(xí)的時候,最好先做好備份。

從文件中刪除某一行

假如我們要刪除文件中的第7行,那么可以這樣使用 sed 命令:

sed -i '7d' filename

我們來解釋一下上述命令:

  • -i:該選項啟用在位編輯(in-place editing)。默認情況下,sed 只顯示輸出,使用 -i 選項,它修改實際文件,但是不在顯示其中顯示;
  • 7d:這里 7 是行號,d 指刪除該行;
  • filename:要修改的文件,如果文件位于其他目錄中,可以提供絕對或相對路徑。

我們舉個實際的例子,假如有一個名為 tiap.txt 的文件,其內(nèi)容為:

The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
Giant's Bread
The Floating Admiral
The Sittaford Mystery
Peril at End House
Lord Edgware Dies

刪除第4行:

sed '4d' tiap.txt

上述命令將會刪除 Giant's Bread 這一行,如下為結(jié)果:

The Mystery of the Blue Train
The Seven Dials Mystery
The Murder at the Vicarage
The Floating Admiral
The Sittaford Mystery
Peril at End House
Lord Edgware Dies

接下來,我們刪除第一行:

sed -i '1d' filename

注意:如果希望在不修改文件本身的情況下查看操作結(jié)果,請不要使用 -i 選項。

使用 sed 刪除最后一行

上文我們介紹了刪除特定的某一行,那么怎樣刪除最后一行呢?

有一種方法是使用 wc 命令來獲取文件中的總行數(shù),然后結(jié)合 sed 使用。不過,sed 提供了一個專門的方法來刪除文件的最后一行,所以我們不需要再獲取文件的總行數(shù)了。

sed -i '$d' filename.txt

刪除多行

與前面介紹的類似,還可以刪除文件中的多行。比如,我們要刪除文件中的第11行至第15行,那么可以這樣:

sed -i '11,15d' filename

上述命令會從文件中刪除包括第11行到第15行的內(nèi)容。

刪除包含某字符串的行

使用 sed 命令還可以刪除包含給定字符串或與特定模式匹配的所有行。

下面的命令將刪除包含單詞“string”的所有行:

sed -i '/string/d' filename

注意,上述字符串是區(qū)分大小寫的。此外,還可以使用正則表達式來代替字符串。

刪除以某個單詞開頭的行

如果要刪除以特定單詞或字母開頭的所有行,只需提供如下正則表達式:

sed -i '/^word/d' filename

刪除所有空行

我們今天介紹的最后一個例子,是刪除文件中所有的空白行:

sed -i '/^$/d' filename

關(guān)于 sed 命令,它的使用方法還有很多,大家有興趣可以查看一下 man 手冊。后續(xù)我們也會再單獨介紹一下。

以上就是本次分享全部內(nèi)容,歡迎討論。

責任編輯:龐桂玉 來源: TIAP
相關(guān)推薦

2022-04-11 06:03:24

FdupesLinux命令行工具

2015-09-02 15:47:05

命令行fdupesLinux

2021-07-12 14:53:27

LinuxGmail電子郵件

2022-08-14 19:19:14

Linux

2023-02-07 09:49:26

Linux命令行合并文件

2022-11-02 08:20:43

Linux

2022-10-25 13:01:36

Linux命令行空目錄

2021-07-08 08:56:30

Linux命令刪除用戶

2009-08-04 10:06:37

如何進入linux命令linux系統(tǒng)linux

2018-07-12 16:22:45

Linux命令行文本顏色

2019-07-15 05:50:19

Linux命令行VirtualBox版

2019-07-12 14:00:55

xclipLinux命令行

2020-03-31 08:30:00

ffsendFireFox SenLinux

2009-07-15 17:10:26

Jython解析命令行

2014-04-08 15:05:11

LinuxLinux命令行補全命令

2009-07-31 18:43:55

linux vi命linux vi命令詳添加行號

2010-03-24 14:08:10

CentOS命令行

2011-01-18 19:11:26

Postfix命令行

2022-01-14 07:28:20

Linux 命令行組合

2015-12-30 14:47:01

LinuxDropbox訪問
點贊
收藏

51CTO技術(shù)棧公眾號