• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 印出檔案特定行內容教學與範例

介紹如何在 Linux 使用 head、tail、sed 或 awk 指令,擷取檔案中的特定幾行內容。

產生測試用檔案

使用以下 Bash 指令稿產生 100 行的測試檔案:

#!/bin/bash
for i in {1..100}; do
  echo "Line $i"
done > file.txt

產生的檔案內容會像這樣:

# 顯示檔案內容的前三行
head -n 3 file.txt
Line 1
Line 2
Line 3

印出特定行內容

在 Linux 命令列中,若要印出檔案中特定行的內容,有好幾種方式可以使用,最基本的就是將 head 與 tail 搭配使用,例如顯示檔案內容的第 25 行:

# 顯示檔案內容的第 25 行
head -25 file.txt | tail +25
Line 25

第二種方式是使用 sed 指令:

# 顯示檔案內容的第 25 行
sed -n '25p' file.txt
Line 25

第三種方式是使用 awk 指令:

# 顯示檔案內容的第 25 行
awk 'NR==25' file.txt
Line 25

亦可使用 perl 來處理:

# 顯示檔案內容的第 25 行
perl -ne 'print if $.==25' file.txt
Line 25

印出特定行範圍內容

若要顯示特定的行範圍,也可以用類似的方式處理。

將 head 與 tail 搭配使用,顯示檔案內容的第 20 行到第 25 行:

# 顯示檔案內容的第 23 行到第 25 行
head -25 file.txt | tail +23
Line 23
Line 24
Line 25

使用 sed 指令顯示檔案內容的第 23 行到第 25 行:

# 顯示檔案內容的第 23 行到第 25 行
sed -n '23,25p' file.txt
Line 23
Line 24
Line 25

使用 awk 指令顯示檔案內容的第 23 行到第 25 行:

# 顯示檔案內容的第 23 行到第 25 行
awk 'NR>=23 && NR <=25' file.txt
Line 23
Line 24
Line 25

使用 perl 顯示檔案內容的第 23 行到第 25 行:

# 顯示檔案內容的第 23 行到第 25 行
perl -ne 'print if $.>=23 and $.<=25' file.txt
Line 23
Line 24
Line 25

參考資料:Linux Handbook

分類:Linux

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide