我有以下文件:
-rw-r--r-- 1 xyz xyz 122 May 01 01:00 Test1
-rw-r--r-- 1 xyz xyz 122 May 01 01:00 Test2
-rw-r--r-- 1 xyz xyz 122 May 05 05:00 Test3
-rw-r--r-- 1 xyz xyz 122 May 05 05:00 Test4
文件的內容包含一個描述行,後面跟著數據,以逗號分隔。例如:
測試1:
ID, Name, Job, Address
1111, John, Janitor, 1234 Corson Ave
測試2:
ID, Name, Job, Address
2222, Tim, Cashier, 3245 Elliot St
有人可以建議一個命令,根據修改日期連接上述文件,同時忽略文件中的第一行,即描述(ID、姓名、工作、地址)。
例如,這就是我在腳本之後想要的:
May_1_file_after_concatenate:
1111, John, Janitor, 1234 Corson Ave
2222, Tim, Cashier, 3245 Elliot St
同樣的事情對於May5_file_after_concatenate
.我的目錄將包含數百萬個檔案。我需要它根據修改日期自動排序並相應地連接它們。
我在 Centos 7 上。
答案1
在 中bash
,您可以使用以下腳本:
#! /bin/bash
for file in "$@" ; do
date=$(stat -c%y "$file" | cut -f1 -d' ')
tail -n+2 "$file" >> "$date"
done
它迭代給定的文件,從中檢索上次修改日期,然後將從第 2 行開始的所有內容添加到由該日期命名的文件中。
如果有兩個檔案需要放入命令列或參數中,請按順序(使用xargs
或手動)在較小的檔案組上呼叫腳本。
轉換日期格式應該很容易:-)