2012-08-10 56 views
12

如何查找BASH中文件的元信息? 以及如何提取和單獨打印使用cut和grep命令如何使用BASH查找文件的元信息

+1

什麼是 '元信息'?你有什麼嘗試? – 2012-08-10 09:12:56

+1

我發現它的「ls -l」 有關文件的信息.. 與文件名,權限,文件所有者,日期等一樣。 – Andy 2012-08-10 10:18:12

+11

請停止大寫每個單詞,這會讓您的文章難以閱讀。 – derobert 2012-08-10 10:20:44

回答

2

我只是猜測在這裏,但你有沒有嘗試過命令file?它會嘗試識別它是什麼類型的文件。

+0

其實,我的輸出應該是這樣的: 文件名: 文件類型: 文件所有者: 文件許可: 文件大小: 我用ls -l查找文件的元信息。我需要提取並打印如上。 – Andy 2012-08-10 10:14:14

+2

@meandyxtreme查看非常擅長從列中選擇值的'cut'命令。而且,請停止在「每個字開頭的大寫字母」的東西。這使得它很難閱讀。 – HonkyTonk 2012-08-10 10:21:58

+0

對每個單詞的大寫都抱歉。看看我鍵入的內容 [[email protected] lab]$ ls -l lab2.txt -rw-rw-r-- 1 ur10cs164 ur10cs164 801 Jul 19 16:40 lab2.txt 所以上面的代碼行顯示了所有的元信息。所以現在如何分開提取它們。我試過'切'。也許我輸入的格式可能是錯誤的。 Lemme知道從中提取的正確方法 – Andy 2012-08-10 10:38:05

13

而不是使用cut/grep,你應該只使用stat,這需要-c參數指定輸出格式解析的ls輸出。

[email protected]:~$ stat -c '%n : %A : %U : %s' afiedt.buf .XCompose 
afiedt.buf : -rw-r--r-- : anthony : 178 
.XCompose : lrwxrwxrwx : anthony : 38 

您可以根據需要更改輸出格式;詳情請查閱stat(1) manpage

+0

謝謝。特別是manpage。再次感謝 – Andy 2012-08-21 08:24:42

2

上的文件執行stat -l

[~]$ stat -l test.py 
-rw-r--r-- 1 burhan staff 84 Aug 3 01:08:34 2012 test.py 

來存儲這些信息在一個變量:

[~]$ foo=$(stat -l test.py) 
[~]$ echo $foo 
-rw-r--r-- 1 burhan staff 84 Aug 3 01:08:34 2012 test.py 

要獲取特定信息只man stat和檢查格式說明。

相關問題