欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

用Linux怎樣批量提取一批文件中的某一行數(shù)據(jù)呢

林雅南2年前238瀏覽0評(píng)論

用Linux怎樣批量提取一批文件中的某一行數(shù)據(jù)呢?

想要在Linux中批量提取一批文件中的某一行數(shù)據(jù),我的思路是把問題分解:

遍歷這批文件

提取某一行數(shù)據(jù)(根據(jù)模式匹配或者固定行號(hào))

將數(shù)據(jù)輸出到某處

可以采用shell編程的方式來(lái)完成這個(gè)任務(wù):

批量文件遍歷

批量文件遍歷有兩個(gè)辦法實(shí)現(xiàn),如果知道文件的列表,就可以按照文件的列表來(lái)遍歷,例如:

其中file001、file002、file003是你這一批文件的路徑+文件名。

如果這些文件都放在了一個(gè)目錄foo下面,也可以寫成這個(gè)樣子:

從文件中提取某一行數(shù)據(jù)

根據(jù)關(guān)鍵詞匹配提取

比如當(dāng)且僅當(dāng)關(guān)鍵詞“bar”在這批文件中的每一個(gè)文件僅出現(xiàn)一次,我們就可以根據(jù)這個(gè)關(guān)鍵詞定位它所在的行,并輸出這一行:

grep "bar" filename

寫到循環(huán)中就是:

根據(jù)行號(hào)匹配提取

使用sed命令可以根據(jù)固定的行號(hào)提取文件中該行的內(nèi)容,比如固定提取每個(gè)文件的第30行:

sed -n '30p' filename

寫到循環(huán)中就是:

將數(shù)據(jù)輸出到某處

最后將查找的內(nèi)容使用重定向“>>”輸出到文本文件中。完整的腳本大約是這樣的:

總結(jié)一下,類似稍微復(fù)雜的文件操作首先想到的是將問題分解,針對(duì)每個(gè)小問題找出解決的方案。另外此例中如果文件都在一個(gè)目錄內(nèi)的情況下,并且采用的是關(guān)鍵詞匹配提取,則可以直接使用grep語(yǔ)句一次性搞定:

grep “key_word” /foo/*

這樣做的缺點(diǎn)是輸出的信息帶有文件名,需要進(jìn)一步處理,這里就不詳解了。

如果我的回答對(duì)你有點(diǎn)價(jià)值,請(qǐng)莫忘點(diǎn)贊加關(guān)注,謝謝!歡迎在評(píng)論區(qū)發(fā)表各種意見!

本文為作者原創(chuàng),嚴(yán)禁轉(zhuǎn)載,違者必究。

java 讀取一行,用Linux怎樣批量提取一批文件中的某一行數(shù)據(jù)呢