Shell Script 中從 pipe 建立陣列變數的方法? - Linux

Table of Contents

我的需求環境是在某個目錄內有許多不同日期建立的檔案

而我下指令 ls -l | awk '{print $6}' | uniq 是可以抓出目錄底下的有哪些日期

但是我要如何把這些原本輸出到螢幕的不同日期,存到某個 shell script 的陣列變數?

因為之後我想要透過這個變數分別建立以日期為名的目錄。

read 似乎有個參數 -a 不知道是不是在這種狀況下使用?我對於這種輸出入還不熟悉

還請眾前輩指點,謝謝。

--

--

All Comments

Ursula avatarUrsula2009-09-07
用 find 搭配就可以了, 不一定須要 陣列吧
Valerie avatarValerie2009-09-12
詳細的語法要怎麼寫呢?還請您示範一下,謝謝。
Hamiltion avatarHamiltion2009-09-14
uniq要前要先sort 然後 mkdir `ls -l .... ` 就可行了
Ophelia avatarOphelia2009-09-18
感謝您的回應 ;) 不用 post ? 印象中這個板建議回文...
Cara avatarCara2009-09-19
經實驗...不加 sort 也可行...只是如何把那些東西倒入陣
Kama avatarKama2009-09-21
列變數還是摸索中...因為之後還想做別的處理
Agatha avatarAgatha2009-09-25
除非ls -lt有照時間排序 要不然mkdir會有很多err msg
Rosalind avatarRosalind2009-09-28
uniq 會把同樣的東西去除掉所以架設目錄夾底下有一百個檔
Leila avatarLeila2009-10-01
案,但是如果說建立日期都一樣,經過 uniq 之後只會出現一
次...
Madame avatarMadame2009-10-03
最簡單的測試方法 開一個空目錄夾下以下指令
touch foo;touch foo2;ls -l | awk '{print $6}' | uniq
Jacky avatarJacky2009-10-04
然後 ls -l 確實會看到 foo 跟 foo2 兩個檔案...
但是當初 ls -l | awk '{print $6}' | uniq 只會有一個
Barb Cronin avatarBarb Cronin2009-10-07
我錯了 (-w-;;; 上面幾行當我亂講...因為我的資料太單純
Hamiltion avatarHamiltion2009-10-08
如果資料種類多還是要排過再用 uniq ... 不然會出事...