→ flu: 如果要純用perl 讀整個檔作處理的話 可能用File::Map 對記憶07/13 20:25
→ flu: 體的管理會比較有效一點 後續再看要multi-thread, -procces07/13 20:26
→ flu: 用外部工具的話 看人弄過印象中是 parallel(1) 搭 grep(1)07/13 20:28
→ flu: 現有工具中 ag, ripgrep 處理大檔也蠻快的07/13 20:30
是有思考過走記憶體流程,但就擔心同仁一起用,反而會拉高記憶體的使用量
推 jkchang: 將printf("Matched.. 先關掉07/14 08:57
→ jkchang: 結果輸出檔案拿掉,然後用>>將結果重新導向到檔案07/14 08:59
→ jkchang: 如果可以的話用sed07/14 09:01
→ jkchang: sed -n '/AX.BC.\sR[0-9]/ s/Banana/APPLE/g p' file207/14 09:02
→ jkchang: sed -n '/AX.BC.\sR[0-9]/ s/Banana/APPLE/g p' file107/14 09:08
→ jkchang: 接上 >> file207/14 09:09
→ jkchang: perl -ne '/AX.BC.\sR\d/ && s/Banana/Apple/ && print'07/14 17:17
→ jkchang: 接上 file1 > file207/14 17:17
所以建議是捨棄用perl做這件事,改用sed是嗎?目前只會簡單的awk,但sed不會,看來得學
習了......
※ 編輯: jacky1989 (101.10.6.175 臺灣), 07/17/2024 16:19:23
→ jkchang: 就這個例子會用sed或perl單行來執行,或許你試試2種效率 07/17 19:15
好的,我來試試,感謝分享
※ 編輯: jacky1989 (150.116.208.71 臺灣), 07/17/2024 22:28:04
→ jkchang: 另外,if(/$input/o)加上o參數還可以爭取一些效率 07/18 06:40
推 herculus6502: regular expression純拿來搜尋真的是overkill 08/15 08:17