2013-03-25 77 views
3

我試圖創建一個zip文件,它將在多臺服務器上運行以比較服務器的內容。出於許多原因,我要比較的最簡單和最好的信息是目錄列表的文本文件...但我需要沒有修改日期,因爲它們使比較顯示在這種情況下不重要的差異。如何在沒有修改日期的Unix中列出文件

所以,如果我運行命令ls -la創建文本輸出比較,我得到的會得到這樣的事情:

drwxr-xr-x. 6 root root  4096 Mar 20 14:59 . 
dr-xr-xr-x. 22 root root  4096 Feb 18 03:20 .. 
drwxr-xr-x. 9 web ad   4096 Oct 30 14:35 apache-tomcat-6.0.18 
drwxr-xr-x. 9 web ad   4096 Mar 24 03:00 apache-tomcat-6.0.36 
lrwxrwxrwx. 1 root root   5 Oct 30 14:06 java -> java6 
lrwxrwxrwx. 1 root root   16 Oct 30 14:05 java6 -> jdk/jdk1.6.0_37/ 
lrwxrwxrwx. 1 root root   16 Mar 20 14:59 java7 -> jdk/jdk1.7.0_17/ 
drwxr-xr-x. 4 root root  4096 Mar 20 15:02 jdk 
lrwxrwxrwx. 1 root root   21 Nov 6 15:09 tomcat -> apache-tomcat-6.0.36/ 

我想是使用是ls -la | cut -c 1-31但只需要一個列表(字符1-31),我真的很想在日期後的數據。我與Unix的比較新的和很好奇,如果任何人知道如何製作一個列表,會是這個樣子:

drwxr-xr-x. 6 root root  4096 . 
dr-xr-xr-x. 22 root root  4096 .. 
drwxr-xr-x. 9 web ad   4096 apache-tomcat-6.0.18 
drwxr-xr-x. 9 web ad   4096 apache-tomcat-6.0.36 
lrwxrwxrwx. 1 root root   5 java -> java6 
lrwxrwxrwx. 1 root root   16 java6 -> jdk/jdk1.6.0_37/ 
lrwxrwxrwx. 1 root root   16 java7 -> jdk/jdk1.7.0_17/ 
drwxr-xr-x. 4 root root  4096 jdk 
lrwxrwxrwx. 1 root root   21 tomcat -> apache-tomcat-6.0.36/ 

感謝

+1

您可以過濾ls'的'輸出,但可以是不可靠的,因爲' ls'輸出不是真的被設計成機器可讀的。如果你有GNU'find','-printf'選項允許你以任何你喜歡的格式有選擇地打印信息。 – 2013-03-25 19:57:34

回答

7

我覺得你的問題的最佳解決方案是使用AWK。

ls -la | awk '{print $1, $2, $3, $4, $5, $9}' 

所以你得到的輸出是這樣的:

drwxr-xr-x. 6 root root 4096 . 
dr-xr-xr-x. 22 root root 4096 .. 
drwx------+ 5 user staff 170 Desktop 
drwx------+ 16 user staff 544 Documents 
drwx------+ 6 user staff 204 Downloads 
+0

這個很好用!謝謝。我一直知道我需要將我的知識擴展到awk。謝謝。 – Greg 2013-03-25 20:21:15

+0

不幸的是,這將失敗的文件名稱空間像'莫爾壞'; - ls -ld moar \ bad \; | AWK '{打印$ 1,$ 2,$ 3,$ 4 $ 5,$ 9}' -rw-R - R-- 1根根2 moar 另一種可能的解決方案:LS -ld --time式= '+'。使用空格式的時間樣式 – glyph 2017-01-06 21:00:28

5

發佈一個替代的解決方案,因爲接受一個將在文件名失敗的空間。

在支持它(不支持Mac OS),Linux等系統使用--time風格與空格式

[[email protected] junk]# ls -lah 
total 12K 
drwxr-xr-x 2 root root 4.0K Jan 6 16:12 . 
drwxr-xr-x 4 root root 4.0K Jan 6 15:38 .. 
-rw-r--r-- 1 root root 0 Jan 6 12:42 '$#%bad' 
-rw-r--r-- 1 root root 2 Jan 6 16:12 'moar bad;' 
-rw-r--r-- 1 root root 0 Jan 6 12:40 'quote"file' 
-rw-r--r-- 1 root root 0 Jan 6 12:41 'single'\''quote'\''file' 

[[email protected] junk]# ls -lah --time-style='+' . 
total 12K 
drwxr-xr-x 2 root root 4.0K . 
drwxr-xr-x 4 root root 4.0K .. 
-rw-r--r-- 1 root root 0 '$#%bad' 
-rw-r--r-- 1 root root 2 'moar bad;' 
-rw-r--r-- 1 root root 0 'quote"file' 
-rw-r--r-- 1 root root 0 'single'\''quote'\''file' 
[[email protected] junk]# 
相關問題