X

Linux 使用 SED 對檔案 最前、最後 增加一行資料

Linux 想要在檔案的最前面和最後面增加一行或多行的資料,可以怎麼做呢?

在檔案最後增加資料很簡單:

  • echo 'last line data' >> filename # 單一檔案
  • for f in .txt ; do echo 'last line data' >> $f; done # 目錄下所有 txt 檔 最後都增加一行

Linux 使用 SED 對檔案 最前、最後 增加一行資料

在此想用 sed 做完這些事情

sed 要檔案第一行增加內容

  • sed -i '1i' filename
    • 範例:
    • sed -i '1ifirst line data\n' filename
    • sed -i '1ifirst line data\n' * # 多檔案

sed 要檔案最後一行增加內容

  • sed -i '$a' filename
    • 範例:
    • sed -i '$alast line data\n' filename
    • sed -i '$alast line data\n' * # 多檔案

若想要做 MySQL Transaction,需要在檔案前後加點資料:

對檔案前面增加

  • SET autocommit=0;
  • START TRANSACTION;

再對檔案最後面增加

  • COMMIT;
  • SET autocommit=1;

作法如下:

  1. sed -i '1iSET autocommit=0;\nSTART TRANSACTION;' .sql
  2. sed -i '$aCOMMIT;\nSET autocommit=1;' .sql

相關網頁

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