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

如何使用sed命令刪除文件中的行

系統(tǒng) Linux
Sed 代表流編輯器,常用于 Linux 中基本的文本處理。sed 命令是 Linux 中的重要命令之一,在文件處理方面有著重要作用??捎糜趧h除或移動(dòng)與給定模式匹配的特定行。

[[275181]]

Sed 代表流編輯器Stream Editor,常用于 Linux 中基本的文本處理。sed 命令是 Linux 中的重要命令之一,在文件處理方面有著重要作用。可用于刪除或移動(dòng)與給定模式匹配的特定行。

它還可以刪除文件中的特定行,它能夠從文件中刪除表達(dá)式,文件可以通過(guò)指定分隔符(例如逗號(hào)、制表符或空格)進(jìn)行標(biāo)識(shí)。

本文列出了 15 個(gè)使用范例,它們可以幫助你掌握 sed 命令。

如果你能理解并且記住這些命令,在你需要使用 sed 時(shí),這些命令就能派上用場(chǎng),幫你節(jié)約很多時(shí)間。

注意:為了方便演示,我在執(zhí)行 sed 命令時(shí),不使用 -i 選項(xiàng)(因?yàn)檫@個(gè)選項(xiàng)會(huì)直接修改文件內(nèi)容),被移除了行的文件內(nèi)容將打印到 Linux 終端。

但是,如果你想在實(shí)際環(huán)境中從源文件中刪除行,請(qǐng)?jiān)?sed 命令中使用 -i 選項(xiàng)。

演示之前,我創(chuàng)建了 sed-demo.txt 文件,并添加了以下內(nèi)容和相應(yīng)行號(hào)以便更好地理解。

  1. # cat sed-demo.txt
  2.  
  3. 1 Linux Operating System
  4. 2 Unix Operating System
  5. 3 RHEL
  6. 4 Red Hat
  7. 5 Fedora
  8. 6 Arch Linux
  9. 7 CentOS
  10. 8 Debian
  11. 9 Ubuntu
  12. 10 openSUSE

1) 如何刪除文件的第一行?

使用以下語(yǔ)法刪除文件首行。

N 表示文件中的第 N 行,d 選項(xiàng)在 sed 命令中用于刪除一行。

語(yǔ)法:

  1. sed 'Nd' file

使用以下 sed 命令刪除 sed-demo.txt 中的第一行。

  1. # sed '1d' sed-demo.txt
  2.  
  3. 2 Unix Operating System
  4. 3 RHEL
  5. 4 Red Hat
  6. 5 Fedora
  7. 6 Arch Linux
  8. 7 CentOS
  9. 8 Debian
  10. 9 Ubuntu
  11. 10 openSUSE

2) 如何刪除文件的最后一行?

使用以下語(yǔ)法刪除文件最后一行。

$ 符號(hào)表示文件的最后一行。

使用以下 sed 命令刪除 sed-demo.txt 中的最后一行。

  1. # sed '$d' sed-demo.txt
  2.  
  3. 1 Linux Operating System
  4. 2 Unix Operating System
  5. 3 RHEL
  6. 4 Red Hat
  7. 5 Fedora
  8. 6 Arch Linux
  9. 7 CentOS
  10. 8 Debian
  11. 9 Ubuntu

3) 如何刪除指定行?

使用以下 sed 命令刪除 sed-demo.txt 中的第 3 行。

  1. # sed '3d' sed-demo.txt
  2.  
  3. 1 Linux Operating System
  4. 2 Unix Operating System
  5. 4 Red Hat
  6. 5 Fedora
  7. 6 Arch Linux
  8. 7 CentOS
  9. 8 Debian
  10. 9 Ubuntu
  11. 10 openSUSE

4) 如何刪除指定范圍內(nèi)的行?

使用以下 sed 命令刪除 sed-demo.txt 中的第 5 到 7 行。

  1. # sed '5,7d' sed-demo.txt
  2.  
  3. 1 Linux Operating System
  4. 2 Unix Operating System
  5. 3 RHEL
  6. 4 Red Hat
  7. 8 Debian
  8. 9 Ubuntu
  9. 10 openSUSE

5) 如何刪除多行內(nèi)容?

sed 命令能夠刪除給定行的集合。

本例中,下面的 sed 命令刪除了第 1 行、第 5 行、第 9 行和最后一行。

  1. # sed '1d;5d;9d;$d' sed-demo.txt
  2.  
  3. 2 Unix Operating System
  4. 3 RHEL
  5. 4 Red Hat
  6. 6 Arch Linux
  7. 7 CentOS
  8. 8 Debian

5a) 如何刪除指定范圍以外的行?

使用以下 sed 命令刪除 sed-demo.txt 中第 3 到 6 行范圍以外的所有行。

  1. # sed '3,6!d' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 6 Arch Linux

6) 如何刪除空行?

使用以下 sed 命令刪除 sed-demo.txt 中的空行。

  1. # sed '/^$/d' sed-demo.txt
  2.  
  3. 1 Linux Operating System
  4. 2 Unix Operating System
  5. 3 RHEL
  6. 4 Red Hat
  7. 5 Fedora
  8. 6 Arch Linux
  9. 7 CentOS
  10. 8 Debian
  11. 9 Ubuntu
  12. 10 openSUSE

7) 如何刪除包含某個(gè)模式的行?

使用以下 sed 命令刪除 sed-demo.txt 中匹配到 System 模式的行。

  1. # sed '/System/d' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 6 Arch Linux
  7. 7 CentOS
  8. 8 Debian
  9. 9 Ubuntu
  10. 10 openSUSE

8) 如何刪除包含字符串集合中某個(gè)字符串的行?

使用以下 sed 命令刪除 sed-demo.txt 中匹配到 SystemLinux 表達(dá)式的行。

  1. # sed '/System\|Linux/d' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 7 CentOS
  7. 8 Debian
  8. 9 Ubuntu
  9. 10 openSUSE

9) 如何刪除以指定字符開(kāi)頭的行?

為了測(cè)試,我創(chuàng)建了 sed-demo-1.txt 文件,并添加了以下內(nèi)容。

  1. # cat sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. RHEL
  6. Red Hat
  7. Fedora
  8. debian
  9. ubuntu
  10. Arch Linux - 1
  11. 2 - Manjaro
  12. 3 4 5 6

使用以下 sed 命令刪除以 R 字符開(kāi)頭的所有行。

  1. # sed '/^R/d' sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. Fedora
  6. debian
  7. ubuntu
  8. Arch Linux - 1
  9. 2 - Manjaro
  10. 3 4 5 6

使用以下 sed 命令刪除 R 或者 F 字符開(kāi)頭的所有行。

  1. # sed '/^[RF]/d' sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. debian
  6. ubuntu
  7. Arch Linux - 1
  8. 2 - Manjaro
  9. 3 4 5 6

10) 如何刪除以指定字符結(jié)尾的行?

使用以下 sed 命令刪除 m 字符結(jié)尾的所有行。

  1. # sed '/m$/d' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 6 Arch Linux
  7. 7 CentOS
  8. 8 Debian
  9. 9 Ubuntu
  10. 10 openSUSE

使用以下 sed 命令刪除 x 或者 m 字符結(jié)尾的所有行。

  1. # sed '/[xm]$/d' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 7 CentOS
  7. 8 Debian
  8. 9 Ubuntu
  9. 10 openSUSE

11) 如何刪除所有大寫(xiě)字母開(kāi)頭的行?

使用以下 sed 命令刪除所有大寫(xiě)字母開(kāi)頭的行。

  1. # sed '/^[A-Z]/d' sed-demo-1.txt
  2.  
  3. debian
  4. ubuntu
  5. 2 - Manjaro
  6. 3 4 5 6

12) 如何刪除指定范圍內(nèi)匹配模式的行?

使用以下 sed 命令刪除第 1 到 6 行中包含 Linux 表達(dá)式的行。

  1. # sed '1,6{/Linux/d;}' sed-demo.txt
  2.  
  3. 2 Unix Operating System
  4. 3 RHEL
  5. 4 Red Hat
  6. 5 Fedora
  7. 7 CentOS
  8. 8 Debian
  9. 9 Ubuntu
  10. 10 openSUSE

13) 如何刪除匹配模式的行及其下一行?

使用以下 sed 命令刪除包含 System 表達(dá)式的行以及它的下一行。

  1. # sed '/System/{N;d;}' sed-demo.txt
  2.  
  3. 3 RHEL
  4. 4 Red Hat
  5. 5 Fedora
  6. 6 Arch Linux
  7. 7 CentOS
  8. 8 Debian
  9. 9 Ubuntu
  10. 10 openSUSE

14) 如何刪除包含數(shù)字的行?

使用以下 sed 命令刪除所有包含數(shù)字的行。

  1. # sed '/[0-9]/d' sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. RHEL
  6. Red Hat
  7. Fedora
  8. debian
  9. ubuntu

使用以下 sed 命令刪除所有以數(shù)字開(kāi)頭的行。

  1. # sed '/^[0-9]/d' sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. RHEL
  6. Red Hat
  7. Fedora
  8. debian
  9. ubuntu
  10. Arch Linux - 1

使用以下 sed 命令刪除所有以數(shù)字結(jié)尾的行。

  1. # sed '/[0-9]$/d' sed-demo-1.txt
  2.  
  3. Linux Operating System
  4. Unix Operating System
  5. RHEL
  6. Red Hat
  7. Fedora
  8. debian
  9. ubuntu
  10. 2 - Manjaro

15) 如何刪除包含字母的行?

使用以下 sed 命令刪除所有包含字母的行。

  1. # sed '/[A-Za-z]/d' sed-demo-1.txt
  2.  
  3. 3 4 5 6 

 

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

2020-08-26 07:36:14

sed命令Linux

2022-08-17 12:35:26

Linux sed編輯器

2022-11-08 09:38:18

Linux命令行刪除文件

2024-10-28 16:42:04

Linux編輯器sed 命令

2019-09-23 15:40:42

sedLinux命令

2022-10-13 20:09:32

userdelLinux

2009-04-20 15:54:04

SQL Server重復(fù)行

2019-03-18 09:40:44

Linux命令編程語(yǔ)言

2019-12-12 18:00:54

awkLinux開(kāi)源

2023-11-28 13:15:00

Linuxsed工具

2022-11-02 08:20:43

Linux

2021-05-24 06:20:04

Linuxsed命令

2023-04-28 10:31:54

Linux命令圖像

2024-12-16 15:07:10

2020-06-05 12:45:41

LinuxTmpwatchTmpreaper

2022-03-28 19:53:24

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

2010-09-01 16:47:18

SQL刪除

2020-02-17 11:08:44

JavaExcel辦公

2010-09-01 15:30:24

SQL刪除

2020-12-07 06:42:09

LinuxIP命令
點(diǎn)贊
收藏

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