こんにちは。よろしくお願いします。
ファイルをインポートし、ファイルの最初の行にファイル名を挿入してから別の名前に移動する必要があります。これはしわです。その形式で最も古いファイルを取得しORIGFILE_YYYYMMDD.TXT
ますNEWFILE.TXT
。ORIGFILE_20151117.TXT
- 最も古いファイルのインポート(
ls -tr ORIGFILE*.txt
) ORIGFILE_20151117.TXT
ファイルの最初の行として追加- 名前の変更/
ORIGFILE_20151117.TXT
移動NEWFILE.TXT
答え1
さて、簡単なステップに分けてみましょう。
#!/bin/bash
# First, let's get that file's name:
FILE=$(ls -rt ORIGFILE*.txt | tail -n1)
if [[ 0 -ne $? ]]; then
echo "Unable to locate matching file. Aborting." 1>&2
exit 1
fi
# Now, create a new file containing the file's name:
echo "$FILE" > NEWFILE.TXT
# And append the contents of the old file into the new:
cat "$FILE" >> NEWFILE.TXT
# Finally, get rid of the old file: (uncomment if you're sure)
# rm "$FILE"
答え2
これによりトリックが実行されます。
f=$(ls -1tr ORIGFILE*.txt | head -1); echo $f | cat - $f > NEWFILE.txt && rm $f