使用Shell 指令碼實現每隔100行插入一條記錄且記錄第一列包含行號其他列不變_linux shell

來源:互聯網
上載者:User

 1、例子:每隔100行插入一條記錄,並且此條記錄的第一列包含行號,其他列與第一行相同

#!/bin/shvar="00001" # 變數cat a.txt|awk 'NR==1'|while read line # 擷取檔案第一行do    #echo "$line"    result=`echo "$line"|cut -f2-` # 預設以tab分割,擷取第二列至最後一列    cat a.txt|awk 'NR%100==0{printf("%04d\n", NR)}'|while read line #每隔100行擷取行號,行號是4位,不足位元補0     do        data=`echo -e "9$line$var\t$result"`        echo "$line"        #echo "$result"        #echo "$data"        #sed -e "'$line'a\'$data'" a.txt        sed -i ''$line'a '"$data"'' a.txt # 向檔案插入    donedone

2、例子:每隔100行,替換第100行資料

#!/bin/shvar="abc"cat a.txt|awk 'NR%100==0'|awk '{split($0,b,"\t");print b[2]}'|while read line # 讀取a檔案,每隔100行擷取當前行第二列do    #echo "$line"    sed -i "s/$line/$var/g" a.txt # 用已知變數替換過上面獲得的列done

以上所述是小編給大家介紹的使用Shell 指令碼實現每隔100行插入一條記錄且記錄第一列包含行號其他列不變,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.