1
を使用してファイルから、現在のディレクトリ内のファイルの存在を比較:私はコンテンツとファイルfiles.txtを持つシェルスクリプト
F1.txt
F2.txt
F3.txt
F4.txt
私はラインで、ファイルfiles.txtラインを読み、そしてかどうかを確認する必要があります出力は、私は簡単なシェルスクリプト次のように使用している
F1.txt16032017
F2.txt16032017
F3.txt16032017
F4.txt16032017
になるよう、それは、私は、files.txtのラインのそれぞれの終わりに日付を追加する必要がない場合には、カレントディレクトリに存在します。
#!/bin/bash
DT=`date +%d%m%Y`
while IFS=read -r line
do
if [ -f $line]
then
echo "$line$DT" > files.ok
else
echo "$line" > files.notok
fi
done < files.txt
エラーなしで実行されますが、日付の付いた出力は期待されません。ファイルの存在テストが正しい
ありがとうInian。それは私のために働く。私は別のポイントをここに追加していませんでした。私は現在のディレクトリの存在チェック中にファイルの日付/タイムスタンプを追加しようとしていました。私はwhileループの中で以下のコードを使用しました:DT = "$(ls -lrt $ file | awk -F" "'{print $ 6 $ 7 $ 8}')"これで、 "files.ok"ファイルに日付が追加されることはありません。アドバイス。 – Petryanu
私はそれを今得ました。私は=の間にスペースを入れなければならなかった。今それは働いた。あなたの助けをたくさんありがとうInian。 – Petryanu