shell讀取文件指定內(nèi)容 利用shell腳本如何提取一個(gè)文件中某一特定行和下面若干行的內(nèi)容?
利用shell腳本如何提取一個(gè)文件中某一特定行和下面若干行的內(nèi)容?如果您想找到最后一個(gè)ABC和接下來(lái)的10行,當(dāng)然,可以根據(jù)1中有ABC的事實(shí)來(lái)執(zhí)行此語(yǔ)句。否則下一條語(yǔ)句將失敗。更好的方法是將腳本分成
利用shell腳本如何提取一個(gè)文件中某一特定行和下面若干行的內(nèi)容?
如果您想找到最后一個(gè)ABC和接下來(lái)的10行,當(dāng)然,可以根據(jù)1中有ABC的事實(shí)來(lái)執(zhí)行此語(yǔ)句。否則下一條語(yǔ)句將失敗。更好的方法是將腳本分成兩條語(yǔ)句。一條語(yǔ)句確定是否有ABC和行號(hào),第二條語(yǔ)句使用sed打印。你可以按照下面的順序自己做,我就不多說(shuō)了。sed-n “$(grep-n ABC 1.log | tail-1 | cut-d:-f 1),10p”ABC.log日志
如何在用shell腳本讀取一個(gè)文件中指定的內(nèi)容?
有兩種方法可以達(dá)到此要求:測(cè)試.txt它可以更改為您需要的任何文件名。
假設(shè)腳本名為測(cè)試.sh,然后將腳本執(zhí)行結(jié)果直接重定向到文件
要讀取的文件,可以截取幾行放在這里嗎?;蛘吣梢栽谶@里寫(xiě)幾行作為示例,告訴您使用shell腳本閱讀什么,然后告訴您答案。謝謝您
怎么在用shell腳本讀取一個(gè)文件中指定的內(nèi)容?
Ls獲取文件列表。然后循環(huán)瀏覽文件。使用head在第0行和指定行之間截取文本。最后,用tail讀最后一行。
代碼如下:#!/bin/bash
files=$(LS)
for I in$files do
head-N20$I | tail-N1
完成
如果要將結(jié)果輸出到文件,也可以這樣更改
#!/bin/bash
files=$(LS)
for I in$files do
res=$(head-N20$I | tail-N1)
echo$res>資源.txt
然后所有結(jié)果都存儲(chǔ)在資源.txt在檔案里。
shell的編寫(xiě)非常簡(jiǎn)單,就是將各種命令工具的結(jié)果結(jié)合起來(lái)。希望能對(duì)你有所幫助。