Agregar nombre de file como primera línea de file en script de shell

Hola y gracias de antemano.

Necesito tomar un file, insert el nombre del file como la primera línea del file y luego moverme a un nombre diferente. Aquí está la arruga. Necesito tomar el file más antiguo en el formatting de ORIGFILE_YYYYMMDD.TXT y savelo como NEWFILE.TXT . Para este ejemplo, digamos que el nombre del file es ORIGFILE_20151117.TXT

  1. ls -tr ORIGFILE*.txt file más antiguo ( ls -tr ORIGFILE*.txt )
  2. Agregue ORIGFILE_20151117.TXT como primera línea de file
  3. Renombrar / Mover ORIGFILE_20151117.TXT a NEWFILE.TXT

Esto hará el truco:

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

Bueno, dividámoslo en simples pasos:

 #!/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"