Linux 使用 sed 整行(列)刪除

垂直刪除有 Vim, cut 和 awk 可以用, 橫列刪除的倒是比較少用, 可以使用 sed 達成.

範例實做(sed)

  • sed -e '12d' xxx # 將第 12 行清掉
  • sed -e '1,5d' xxx # 將第 1 ~ 5 行清掉
  • sed -e '1,5d' -e 's/test/check/' # 第 1 ~ 5 行清掉, 並將 test 取代成 check
  • sed -i '3d' xxx # 將第三行移除, 並寫入檔案

相關網頁

感謝 jumbler 提供 awk 的方法

  • awk '!(NR>=1 && NR<=5){print $0}' xxx # 將第 1 ~ 5 行清掉

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Linux 使用 sed 整行(列)刪除〉中有 8 則留言

  1. 標題下刪除行(列)這樣到底是行還是列?
    行行列列寫得這樣亂七八糟,你何不乾脆用英文的row和column算了?
    被你搞到不知道到底sed是刪除直的還是橫的。
    誤人子弟。

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料