溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)怎么刪除文件中的空行

發(fā)布時(shí)間:2021-08-26 10:06:03 來源:億速云 閱讀:167 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容介紹了“Linux系統(tǒng)怎么刪除文件中的空行”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

下列 5 種方法可以做到。

  • sed:過濾和替換文本的流編輯器。

  • grep:輸出匹配到的行。

  • cat:合并文件并打印內(nèi)容到標(biāo)準(zhǔn)輸出。

  • tr:替換或刪除字符。

  • awk:awk 工具用于執(zhí)行 awk 語言編寫的程序,專門用于文本處理。

  • perl:Perl 是一種用于處理文本的編程語言。

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

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

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

使用 sed 命令

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

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

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

  • sed: 該命令本身。

  • //: 標(biāo)記匹配范圍。

  • ^: 匹配字符串開頭。

  • $: 匹配字符串結(jié)尾。

  • d: 刪除匹配的字符串。

  • 2daygeek.txt: 源文件名。

使用 grep 命令

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

$ grep . 2daygeek.txtor$ grep -Ev "^$" 2daygeek.txtor$ grep -v -e '^$' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.

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

  • grep: 該命令本身。

  • .: 替換任意字符。

  • ^: 匹配字符串開頭。

  • $: 匹配字符串結(jié)尾。

  • E: 使用擴(kuò)展正則匹配模式。

  • e: 使用常規(guī)正則匹配模式。

  • v: 反向匹配。

  • 2daygeek.txt: 源文件名。

使用 awk 命令

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

$ awk NF 2daygeek.txtor$ awk '!/^$/' 2daygeek.txtor$ awk '/./' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.

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

  • awk: 該命令本身。

  • //: 標(biāo)記匹配范圍。

  • ^: 匹配字符串開頭。

  • $: 匹配字符串結(jié)尾。

  • .: 匹配任意字符。

  • !: 刪除匹配的字符串。

  • 2daygeek.txt: 源文件名。

使用 cat 和 tr 命令 組合

cat串聯(lián)(拼接)concatenate的簡(jiǎn)寫。經(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)輸出。

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

以下是命令展開的細(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)告語言Practical Extraction and Reporting Language。Perl 在初期被設(shè)計(jì)為一個(gè)專用于文本處理的編程語言,現(xiàn)在已擴(kuò)展應(yīng)用到 Linux 系統(tǒng)管理,網(wǎng)絡(luò)編程和網(wǎng)站開發(fā)等多個(gè)領(lǐng)域。

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

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

  • perl: perl 命令。

  • n: 逐行讀入數(shù)據(jù)。

  • e: 執(zhí)行某個(gè)命令。

  • print: 打印信息。

  • if: if 條件分支。

  • //: 標(biāo)記匹配范圍。

  • \S: 匹配任意非空白字符。

  • 2daygeek.txt: 源文件名。


“Linux系統(tǒng)怎么刪除文件中的空行”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI