GNU/Linux >> Linux Esercitazione >  >> Linux

Concatenazione di file e inserimento di una nuova riga tra i file

Se fossi io a farlo, userei sed:

sed -e '$s/$/\n/' -s *.txt > finalfile.txt

In questo modello sed $ ha due significati, in primo luogo corrisponde solo al numero dell'ultima riga (come un intervallo di righe su cui applicare un modello) e in secondo luogo corrisponde alla fine della riga nel modello di sostituzione.

Se la tua versione di sed non ha -s (elabora i file di input separatamente) puoi fare tutto come un ciclo però:

for f in *.txt ; do sed -e '$s/$/\n/' $f ; done > finalfile.txt

Puoi fare:

for f in *.txt; do (cat "${f}"; echo) >> finalfile.txt; done

Assicurati che il file finalfile.txt non esiste prima di eseguire il comando precedente.

Se sei autorizzato a usare awk puoi fare:

awk 'FNR==1{print ""}1' *.txt > finalfile.txt

Se disponi di un numero sufficiente di file da poter elencare ciascuno di essi, puoi utilizzare la sostituzione del processo in Bash, inserendo una nuova riga tra ogni coppia di file:

cat File1.txt <(echo) File2.txt <(echo) File3.txt > finalfile.txt

Linux
  1. Come comprimere e decomprimere file in Linux

  2. Differenza tra "e" sulla riga di comando (bash)??

  3. Ssh:copiare file protetti tra server in una riga?

  4. differenza tra file di dispositivo e driver di dispositivo

  5. Come condividere file tra Ubuntu e Mac OS X

fdupes:uno strumento da riga di comando per trovare ed eliminare file duplicati in Linux

Come utilizzare il comando cp per copiare file e directory

Installa Dropbox per condividere file tra Linux e Windows

Trasferisci file e cartelle tra computer con Croc

Condivisione di file tra Linux Mint e Windows 10

Differenza negli spazi bianchi tra due file su Linux