溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Shell腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號其他列不變

發(fā)布時間:2021-08-26 15:35:59 來源:億速云 閱讀:177 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了如何使用Shell腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號其他列不變,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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

#!/bin/sh
var="00001" # 變量
cat a.txt|awk 'NR==1'|while read line # 獲取文件第一行
do
    #echo "$line"
    result=`echo "$line"|cut -f2-` # 默認(rèn)以tab分割,獲取第二列至最后一列
    cat a.txt|awk 'NR%100==0{printf("%04d\n", NR)}'|while read line #每隔100行獲取行號,行號是4位,不足位數(shù)補(bǔ)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 # 向文件插入
    done
done

2、例子:每隔100行,替換第100行數(shù)據(jù)

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

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Shell腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號其他列不變”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI