我想將文件拆分爲多個文件並以日期格式保存文件。使用awk將文件拆分爲多個文件,但採用日期格式
這個命令爲什麼不起作用?
awk -v DATE= date '+%d%m%Y'-F"," 'NR>1 { print > "Test_" DATE ".CSV_"$1".csv"}' Testing.CSV
我想將文件拆分爲多個文件並以日期格式保存文件。使用awk將文件拆分爲多個文件,但採用日期格式
這個命令爲什麼不起作用?
awk -v DATE= date '+%d%m%Y'-F"," 'NR>1 { print > "Test_" DATE ".CSV_"$1".csv"}' Testing.CSV
這應該工作
awk -F, -v date=$(date +%d%m%Y) 'NR>1{print > "Test_"date".CSV_"$1".csv"}' file
如果沒有,建議先
awk -v date=$(date +%d%m%Y) 'BEGIN{print date}'
檢查日期是否正確設置爲awk
變量。
@RavinderSingh:這是我的成功命令:awk -v DATE =「$(date +」%Y%m%d「)」-F「,」'NR> 1 {print>「Assignment _」$ 1「」DATE「 .csv「}'Text_01012020.CSV,但它出來這個:Assignment_」A「_01012017我想刪除」__「,你能幫我嗎? – FARAH
如果您不想要下劃線字符,請將其從命令中刪除。 DATE之前的空字符串「」不是必需的。另外,不推薦所有大寫變量命名,因爲它可以無意中覆蓋'awk'定義的變量。 – karakfa
我只是想刪除雙重quoatation,因爲它「$ 1」,那麼它會出現「A」,我只是希望它只出現一個沒有雙引號 – FARAH
@FARAH:嘗試:
awk -v DATE=$(date +%d%m%Y) -F"," 'NR>1 { print > "Test_" DATE ".CSV_"$1".csv"}' Input_file
由於存在缺乏關於樣本的信息和預期輸出,看到你的命令需要一些微調,儘量上面,讓我們知道,如果這有助於。
你是不是指'$(date +%d%m%Y)'?目前,'DATE'被設置爲文字字符串'date +%d%m%Y'。 –
awk -v DATE =「$(date +」%Y%m%d「)」-F「,」'NR> 1 {print>「Test_」DATE「.CSV _」$ 1「.csv」}'input_file I試試這個..也不能\ – FARAH
謝謝你本傑明,我現在糾正了,謝謝你在這裏指導,我沒有實際測試過前一個。 – RavinderSingh13
這是http://stackoverflow.com/questions/42292805/splitting-content-by-id-1st-column-and-generate-new-data-file-based-on-format –
的後續行動爲什麼不使用awk自己的日期函數呢?我認爲不需要使用shell版本。 – grail