Re: [問題] Shell Script 中從 pipe 建立陣列變數的方法?

看板Linux作者 (惡水上的大橋)時間16年前 (2009/09/05 01:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《madoka82 (惡水上的大橋)》之銘言: : 我的需求環境是在某個目錄內有許多不同日期建立的檔案 : 而我下指令 ls -l | awk '{print $6}' | uniq 是可以抓出目錄底下的有哪些日期 : 但是我要如何把這些原本輸出到螢幕的不同日期,存到某個 shell script 的陣列變數? : 因為之後我想要透過這個變數分別建立以日期為名的目錄。 : read 似乎有個參數 -a 不知道是不是在這種狀況下使用?我對於這種輸出入還不熟悉 : 還請眾前輩指點,謝謝。 感謝在 PTT 有熱心的板眾提供了 mkdir `ls -l | awk '{print $6}' | sort | uniq` 這個方法 讓我有靈感處理我原本希望的,把螢幕輸出結果轉到某陣列變數 假設要把 modification time 那欄的日期倒入某個叫做 dateattay 的變數 datearray=(`ls -tl | awk '{print $6}' | uniq | xargs`) 以下是簡單的 sh 原始碼,有興趣的可以考去存成 .sh 檔玩玩看 XD 因為是測好玩的所以就只是單純的印出陣列內容,沒去做我說的建目錄... #!/bin/bash PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH datearray=(`ls -tl | awk '{print $6}' | uniq | xargs`) for(( i=0;i<${#datearray[@]};i++ )) do echo -e "datearray[$i]=${datearray[$i]}" #mkdir ${datearray[$i]} done exit 0 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.201.3
文章代碼(AID): #1AeL3iHF (Linux)
文章代碼(AID): #1AeL3iHF (Linux)