使用Shell 腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號(hào)其他列不變
1、例子:每隔100行插入一條記錄,并且此條記錄的第一列包含行號(hào),其他列與第一行相同
#!/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行獲取行號(hào),行號(hào)是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
以上所述是小編給大家介紹的使用Shell 腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號(hào)其他列不變,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
shell腳本學(xué)習(xí)指南[二](Arnold Robbins & Nelson H.F. Beebe著)
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[二](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02
shell腳本批量執(zhí)行指定路徑下sql腳本的實(shí)現(xiàn)
本文主要介紹了shell腳本批量執(zhí)行指定路徑下sql腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Linux使用iptables實(shí)現(xiàn)屏蔽ip地址的示例詳解
netfilter/iptables(簡稱為iptables)組成Linux平臺(tái)下的包過濾防火墻,與大多數(shù)的Linux軟件一樣,這個(gè)包過濾防火墻是免費(fèi)的。本文就來利用iptables實(shí)現(xiàn)屏蔽ip地址,需要的可以參考一下2022-10-10
詳解Linux定時(shí)任務(wù)Crontab的介紹與使用
linux內(nèi)置的cron進(jìn)程能幫我們實(shí)現(xiàn)這些需求,cron搭配shell腳本,非常復(fù)雜的指令也沒有問題。本文主要介紹了定時(shí)任務(wù)Crontab的使用,需要的可以學(xué)習(xí)一下2022-10-10
如何利用shell開發(fā)keepalived啟動(dòng)腳本
Keepalived軟件起初是專為LVS負(fù)載均衡軟件設(shè)計(jì)的,用來管理并監(jiān)控LVS集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),后來又加入了可以實(shí)現(xiàn)高可用的VRRP功能。這篇文章主要介紹了使用shell開發(fā)keepalived啟動(dòng)腳本,需要的朋友可以參考下2020-03-03

