2017-11-23 6 views
-1

私の配列にそれらを送る前に、私の結果の文字列を削除しようとしています。私は別のものを試してみましたが、私はそれを見つけませんでした:( 実際に私の$ LOGFILEに私はそのような何かしました:配列の中にパラメータを送る前にファイルを読み込んでください。

STATUS   TO_CHAR(TO_TIMESTAM 
--------------- ------------------- 
AVAILABLE  2017.10.18 18:00:30 
AVAILABLE  2017.10.24 18:00:26 

を、私は唯一の日付2017年10月18日18時00分30秒を持ってしてみてください

function read_file {                                               
     while read line;do                                               
     arr[$i]="$line"                                               
      i=$((i+1))                                                
    # $line | sed s/"-"//g | sed s/"STATUS"//g | sed s/'TO_CHAR(TO_TIMESTAM'//g | sed s/"AVAILABLE"//g | sed '/^ *$/d'                       
     done< $LOGFILE                                                

     printf '%s\n' "${arr[@]}"                                             
    } 

答えて

0

grep許容可能である

grep -o '[0-9].*' $LOGFILE 

出力:?

2017.10.18 18:00:30 
2017.10.24 18:00:26 

mapfileを使用して、出力を配列でキャプチャします。

$ mapfile -t arr < <(grep -o '[0-9].*' $LOGFILE) 

$ echo ${arr[0]} 
2017.10.18 18:00:30 

$ echo ${arr[1]} 
2017.10.24 18:00:26 

this postに感謝します。

+0

残念ながら私はARRAYで遊んでいますが、後でINDEXで呼び出す必要があります – zyriuse

+0

@zyriuse私はそれに応じて私の答えを編集しました。 –

+0

あなたの助けにたくさんの人に感謝;) – zyriuse

関連する問題