2015-08-26 55 views
0

嗨,我現在使用這個命令: $ echo「$(date)$(ls -1 | wc -l)」>>/home/hive /landing/info.txt 這給了我一個輸出類似: 星期三08月26日12:43:00 PKT 2015年8 哪一個是(日期時間計數)在Bash/Linux中將文件的日期,時間,文件數和文件名寫入文件

有什麼辦法與一起添加文件名計數?

+0

你所關注的文件在當前目錄中的名稱(用行繼續爲了便於閱讀所示)

作爲一個班輪

a=(*); for i in ${a[@]}; do printf "%s\n" "$i"; done; \ echo "number of files: ${#a[@]}"; echo "$(date)" 

? –

+0

是的,目前的目錄。 –

回答

0

你可以做到以下幾點:

echo "$(date) $(ls -1 | wc -l) $(ls | tr "\n" " ")" >> /home/hive/landing/info.txt 

tr代表的「翻譯」命令,將改變\n到空間中的ls

0

輸出可以在從取刺另一個角度。你可以簡單地讀取所有文件名到一個數組(以下a),您可以通過陣列編寫文件名循環,最後寫從數組長度的文件和日期的數量:

#!/bin/bash 

ofile=${1:-/home/hive/landing/info.txt} 

## read all files into array 'a' 
a=(*) 

## write the filenames 
for i in ${a[@]}; do 
    printf "%s\n" "$i" >> "$ofile" 
done 

echo "number of files: ${#a[@]}" >> "$ofile" ## write number of files 
echo "$(date)" >> "$ofile"      ## write date 

也許這會給你另一種解決問題的方法。 youile(輸出文件)將包含文件名列表,計數和日期。