自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Linux中如何刪除文件中的空行

系統(tǒng) Linux
有時(shí)你可能需要在 Linux 中刪除某個(gè)文件中的空行。如果是的,你可以使用下面方法中的其中一個(gè)。有很多方法可以做到,但我在這里只是列舉一些簡(jiǎn)單的方法。

 [[259714]]

有時(shí)你可能需要在 Linux 中刪除某個(gè)文件中的空行。如果是的,你可以使用下面方法中的其中一個(gè)。有很多方法可以做到,但我在這里只是列舉一些簡(jiǎn)單的方法。

你可能已經(jīng)知道 grep、awksed 命令是專門(mén)用來(lái)處理文本數(shù)據(jù)的工具。

如果你想了解更多關(guān)于這些命令的文章,請(qǐng)?jiān)L問(wèn)這幾個(gè) URL:在 Linux 中創(chuàng)建指定大小的文件的幾種方法,在 Linux 中創(chuàng)建一個(gè)文件的幾種方法 以及 在 Linux 中刪除一個(gè)文件中的匹配的字符串

這些屬于高級(jí)命令,它們可用在大多數(shù) shell 腳本中執(zhí)行所需的操作。

下列 5 種方法可以做到。

  • sed:過(guò)濾和替換文本的流編輯器。
  • grep:輸出匹配到的行。
  • cat:合并文件并打印內(nèi)容到標(biāo)準(zhǔn)輸出。
  • tr:替換或刪除字符。
  • awk:awk 工具用于執(zhí)行 awk 語(yǔ)言編寫(xiě)的程序,專門(mén)用于文本處理。
  • perl:Perl 是一種用于處理文本的編程語(yǔ)言。

我創(chuàng)建了一個(gè) 2daygeek.txt 文件來(lái)測(cè)試這些命令。下面是文件的內(nèi)容。

  1. $ cat 2daygeek.txt
  2. 2daygeek.com is a best Linux blog to learn Linux.
  3.  
  4. It's FIVE years old blog.
  5.  
  6. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  7.  
  8. He got two GIRL babys.
  9.  
  10. Her names are Tanisha & Renusha.

現(xiàn)在一切就緒,我們準(zhǔn)備開(kāi)始用多種方法來(lái)驗(yàn)證。

使用 sed 命令

sed 是一個(gè)流編輯器stream editor。流編輯器是用來(lái)編輯輸入流(文件或管道)中的文本的。

  1. $ sed '/^$/d' 2daygeek.txt
  2. 2daygeek.com is a best Linux blog to learn Linux.
  3. It's FIVE years old blog.
  4. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  5. He got two GIRL babes.
  6. Her names are Tanisha & Renusha.

以下是命令展開(kāi)的細(xì)節(jié):

  • sed: 該命令本身。
  • //: 標(biāo)記匹配范圍。
  • ^: 匹配字符串開(kāi)頭。
  • $: 匹配字符串結(jié)尾。
  • d: 刪除匹配的字符串。
  • 2daygeek.txt: 源文件名。

使用 grep 命令

grep 可以通過(guò)正則表達(dá)式在文件中搜索。該表達(dá)式可以是一行或多行空行分割的字符,grep 會(huì)打印所有匹配的內(nèi)容。

  1. $ grep . 2daygeek.txt
  2. or
  3. $ grep -Ev "^$" 2daygeek.txt
  4. or
  5. $ grep -v -e '^$' 2daygeek.txt
  6. 2daygeek.com is a best Linux blog to learn Linux.
  7. It's FIVE years old blog.
  8. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  9. He got two GIRL babes.
  10. Her names are Tanisha & Renusha.

以下是命令展開(kāi)的細(xì)節(jié):

  • grep: 該命令本身。
  • .: 替換任意字符。
  • ^: 匹配字符串開(kāi)頭。
  • $: 匹配字符串結(jié)尾。
  • E: 使用擴(kuò)展正則匹配模式。
  • e: 使用常規(guī)正則匹配模式。
  • v: 反向匹配。
  • 2daygeek.txt: 源文件名。

使用 awk 命令

awk 可以執(zhí)行使用 awk 語(yǔ)言寫(xiě)的腳本,大多是專用于處理文本的。awk 腳本是一系列 awk 命令和正則的組合。

  1. $ awk NF 2daygeek.txt
  2. or
  3. $ awk '!/^$/' 2daygeek.txt
  4. or
  5. $ awk '/./' 2daygeek.txt
  6. 2daygeek.com is a best Linux blog to learn Linux.
  7. It's FIVE years old blog.
  8. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  9. He got two GIRL babes.
  10. Her names are Tanisha & Renusha.

以下是命令展開(kāi)的細(xì)節(jié):

  • awk: 該命令本身。
  • //: 標(biāo)記匹配范圍。
  • ^: 匹配字符串開(kāi)頭。
  • $: 匹配字符串結(jié)尾。
  • .: 匹配任意字符。
  • !: 刪除匹配的字符串。
  • 2daygeek.txt: 源文件名。

使用 cat 和 tr 命令 組合

cat串聯(lián)(拼接)concatenate的簡(jiǎn)寫(xiě)。經(jīng)常用于在 Linux 中讀取一個(gè)文件的內(nèi)容。

cat 是在類 Unix 系統(tǒng)中使用頻率很高的命令之一。它提供了常用的三個(gè)處理文本文件的功能:顯示文件內(nèi)容、將多個(gè)文件拼接成一個(gè),以及創(chuàng)建一個(gè)新文件。

tr 可以將標(biāo)準(zhǔn)輸入中的字符轉(zhuǎn)換,壓縮或刪除,然后重定向到標(biāo)準(zhǔn)輸出。

  1. $ cat 2daygeek.txt | tr -s '\n'
  2. 2daygeek.com is a best Linux blog to learn Linux.
  3. It's FIVE years old blog.
  4. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  5. He got two GIRL babes.
  6. Her names are Tanisha & Renusha.

以下是命令展開(kāi)的細(xì)節(jié):

  • cat: cat 命令本身。
  • tr: tr 命令本身。
  • |: 管道符號(hào)。它可以將前面的命令的標(biāo)準(zhǔn)輸出作為下一個(gè)命令的標(biāo)準(zhǔn)輸入。
  • s: 替換標(biāo)數(shù)據(jù)集中任意多個(gè)重復(fù)字符為一個(gè)。
  • \n: 添加一個(gè)新的換行。
  • 2daygeek.txt: 源文件名。

使用 perl 命令

Perl 表示實(shí)用的提取和報(bào)告語(yǔ)言Practical Extraction and Reporting Language。Perl 在初期被設(shè)計(jì)為一個(gè)專用于文本處理的編程語(yǔ)言,現(xiàn)在已擴(kuò)展應(yīng)用到 Linux 系統(tǒng)管理,網(wǎng)絡(luò)編程和網(wǎng)站開(kāi)發(fā)等多個(gè)領(lǐng)域。

  1. $ perl -ne 'print if /\S/' 2daygeek.txt
  2. 2daygeek.com is a best Linux blog to learn Linux.
  3. It's FIVE years old blog.
  4. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.
  5. He got two GIRL babes.
  6. Her names are Tanisha & Renusha.

以下是命令展開(kāi)的細(xì)節(jié):

  • perl: perl 命令。
  • n: 逐行讀入數(shù)據(jù)。
  • e: 執(zhí)行某個(gè)命令。
  • print: 打印信息。
  • if: if 條件分支。
  • //: 標(biāo)記匹配范圍。
  • \S: 匹配任意非空白字符。
  • 2daygeek.txt: 源文件名。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2019-09-24 20:07:30

Linux移動(dòng)文件 命令

2022-03-28 19:53:24

Linux恢復(fù)文件意外刪除文件

2020-02-24 11:12:01

Linux電腦數(shù)據(jù)

2023-05-13 17:43:17

Linux文件文件夾

2021-08-16 13:34:07

Linux終端刪除文件

2020-04-03 13:45:16

刪除Linux垃圾文件

2022-11-08 09:38:18

Linux命令行刪除文件

2017-07-21 13:25:33

LinuxMD5哈希恢復(fù)文件

2017-03-14 09:45:24

2018-06-01 10:37:26

Linux歸檔文件壓縮文件

2019-09-26 06:50:16

Linux命令回車字符

2021-01-19 08:07:50

Linux日期文件

2013-06-05 11:41:53

2021-04-30 13:19:20

Linux刪除分區(qū)

2021-02-26 14:20:35

LinuxWindowsexe文件

2016-11-22 19:37:54

Linux恢復(fù)文件

2017-05-25 12:04:48

Linux刪除超大文件

2009-07-01 18:41:16

JSP編譯

2021-10-22 09:42:13

Linux恢復(fù)文件

2019-09-24 19:00:41

Linuxrm命令unlink命令
點(diǎn)贊
收藏

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