쉘 스크립트에서 파일의 첫 번째 줄에 파일 이름을 추가하십시오.

쉘 스크립트에서 파일의 첫 번째 줄에 파일 이름을 추가하십시오.

안녕하세요. 미리 감사드립니다.

파일을 가져와 파일의 첫 번째 줄에 파일 이름을 삽입한 다음 다른 이름으로 이동해야 합니다. 이것은 주름입니다. 해당 형식에서 가장 오래된 파일을 가져 ORIGFILE_YYYYMMDD.TXT와서 NEWFILE.TXT.ORIGFILE_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"

답변2

이렇게 하면 트릭이 수행됩니다.

f=$(ls -1tr ORIGFILE*.txt | head -1); echo $f | cat - $f > NEWFILE.txt && rm $f

관련 정보