シェルスクリプトで、ファイルの最初の行にファイル名を追加します。

シェルスクリプトで、ファイルの最初の行にファイル名を追加します。

こんにちは。よろしくお願いします。

ファイルをインポートし、ファイルの最初の行にファイル名を挿入してから別の名前に移動する必要があります。これはしわです。その形式で最も古いファイルを取得しORIGFILE_YYYYMMDD.TXTますNEWFILE.TXTORIGFILE_20151117.TXT

  1. 最も古いファイルのインポート(ls -tr ORIGFILE*.txt
  2. ORIGFILE_20151117.TXTファイルの最初の行として追加
  3. 名前の変更/ 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"

おすすめ記事