Risposte:
sed -e "\$aTEXTTOEND" è il modo più semplice.
$corrisponde all'ultima riga (è un sedindirizzo normale ; 4aTEXTTOENDinserirà dopo la quarta riga), aè il comando append ed TEXTTOENDè cosa aggiungere.
sed -e '$a\NEWLINE\\'. Sostituisci NEWLINE con una nuova linea reale.
Non c'è bisogno di usare sedin quel caso. Che ne dite di
echo "<?php" >> file
<php " e " >" e citando i contenuti selezionati tutto in una volta, quindi probabilmente vuole davvero un sedframmento.
sudo, il che fa fallire questa variazione poiché echoè un comando di shell incorporato piuttosto che un file eseguibile trovato in$PATH
echoè un built-in ma è anche un file eseguibile trovato in$PATH
Supponendo di voler inserire il tag php finale nei file, quindi
sed -i '$s/$/\n?>/' file
dovrebbe fare il trucco
Vedi il tuo post originale per il comando sed in all in one.
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
Usa il comando sed 'append (a)'. Ad esempio, per aggiungere due righe alla fine del file:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
In un modo semplice per scrivere e apportare le modifiche al contenuto in una riga specifica in un file. Se si desidera inserire qualcosa in un numero di riga specifico, è possibile utilizzare il comando seguente:
sed -i '2i i have started' sheikh.log
dove 2i- la riga numero 2 e i indica l'inserimento. Se è necessario inserire l'ultima riga, utilizzare $al posto di 2. ho iniziato - il testo da inserire ed sheikh.logè il nome file.
Possiamo anche apportare le modifiche alla riga usando il comando seguente
sed -i '2c we have started' sheikh.log
iè cambiato in we.
Suppongo che chiunque abbia cercato come inserire / aggiungere testo all'inizio / alla fine di un file probabilmente deve anche sapere come fare anche l'altro.
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
Questo viene calinviato a gnu- sed(chiamato gsedsu macOS installato tramite brew.sh ) con RegEx esteso ( -E) e 6 "script" applicati ( -e) e interruzioni di riga con escape \per leggibilità. Gli script 1 e 2 usano 1i\per "alla riga 1, inserire". Gli script 5 e 6 usano $a\"alla riga <lasto>, aggiungi". Ho allineato verticalmente gli output del testo per fare in modo che il codice rappresentasse ciò che è previsto nel risultato. Gli script 3 e 4 sostituiscono (quest'ultimo si applica solo a "line <last>"). Il risultato sta convertendo l'output del comando in JSON valido.
{
"lines": [
" October 2019 ",
"Su Mo Tu We Th Fr Sa ",
" 1 2 3 4 5 ",
" 6 7 8 9 10 11 12 ",
"13 14 15 16 17 18 19 ",
"20 21 22 23 24 25 26 ",
"27 28 29 30 31 ",
" "
]
}
{ cat file; echo 'END OF FILE'; } > newFile, questo funziona anche grazie a sh. *. (non sed ma funziona e semplice)