2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
假設(shè)您有Gnu awk:
awk 'BEGINFILE{print "============="}1' lab*.txt > final.txt
的BEGINFILE
特殊圖案(徒勞無(wú)功擴(kuò)展)只是每個(gè)文件的第一行之前觸發(fā)。FILENAME
如果您想在分隔線中包含名稱,它會(huì)定義變量。
將1
在年底是這始終是真正的模式。由于沒有動(dòng)作,因此將執(zhí)行默認(rèn)動(dòng)作,該動(dòng)作將打印該行。
這也將在開始時(shí)打印該行。如果您確實(shí)不希望這樣做,可以添加一張支票:
awk 'BEGINFILE{if(nfiles++)print "============="}1' lab*.txt > final.txt
沒有什么特別的nfiles
。與其他任何awk變量一樣,該變量實(shí)際上被初始化為0,并且后綴將其++
遞增,但僅在返回其值之后。

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
與gnu sed
sed -ns '1s/.*/=============\n&/;w final.txt' lab*.txt
'-s''--separate'
默認(rèn)情況下,'sed'會(huì)將命令行上指定的文件視為單個(gè)連續(xù)的長(zhǎng)流。此GNU'sed'擴(kuò)展名允許用戶將它們視為單獨(dú)的文件:范圍地址(例如'/ abc /,/ def /')不允許跨越多個(gè)文件,行號(hào)相對(duì)于每個(gè)文件的開頭, '$'指每個(gè)文件的最后一行,并且從'R'命令調(diào)用的文件會(huì)在每個(gè)文件的開頭重新纏繞。
添加回答
舉報(bào)