我想在許多塊中均勻分割文件。這是我的代碼:用分隔符awk將文件分解爲多個文件awk
awk '/*/ { delim++ } { file = sprintf("splits/audio%s.txt", int(delim /2)); print >> file; }' < input_file
我的文件看起來是這樣的:
"*/audio1.lab"
0 6200000 a
6200000 7600000 b
7600000 8200000 c
.
"*/audio2.lab"
0 6300000 a
6300000 8300000 w
8300000 8600000 e
8600000 10600000 d
.
這是給我一個錯誤:AWK:第1行:語法錯誤或接近* 我不知道有足夠的瞭解awk理解這個錯誤。我試圖逃避角色,但仍然無法弄清楚。我可以在python中編寫腳本,但我想了解如何在awk中執行此操作。任何人都知道我做錯了什麼?
編輯:我有14021個文件。我以前兩個爲例。
目前尚不清楚你到底想要做什麼。你想分裂文件或合併文件或其他東西?那個魔杖是輸入一個文件還是兩個單獨的文件?澄清'我試圖在多個塊中均勻分割文件'。意思是在給定樣本輸入的情況下發布期望的輸出。 –
按標題拆分文件。方便的標題是「*」 – badner
唯一的行所以你有1個文件看起來像你的發佈的輸入,你想分裂成多個文件,每塊一個?或者你是否試圖從輸入文件中獲取2個塊到每個輸出文件(因此除以2)或其他東西?這與你有14021個文件有什麼關係?你想爲所有輸入文件中的每個塊輸入獨特的輸出文件還是某種合併或什麼?再次,更好的描述和張貼預期的輸出將是一個很大的幫助。 –