scrivere una variabile in un file alla fine di una linea specifica


0

Voglio aggiungere una variabile al fine di una specifico linea nel file file.txt. Il mio codice finora:

#!/bin/bash    
read -p "What is the path of the repo? > " input
echo :$input  >> file.txt

Voglio aggiungerlo a la fine di linea 2 . Per esempio,

file.txt
--------
before -
1.stuff 
2./home/retep/awesome

after -
1.stuff
2./home/retep/awesome:/home/retep/cool

Risposte:


0

È un altro one-liner per awk:

#!/bin/bash    
read -p "What is the path of the repo? > " input

awk -v addition="$input" -v targetline=2 '
NR==targetline { print $0 ":" addition; next}
{print }' file.txt > file.tmp
mv file.tmp file.txt

non funziona per me Dà la cosa in bianco quando manchi qualcosa.
retep

Scusa, non ero abbastanza concentrato. Corretto.
Gombai Sándor

non lo fa > scavalcare il file? Posso usare >>
retep

Se desideri estendere il file che sta scrivendo qualcosa alla FINE di esso, & gt; & gt; È tuo amico.
Gombai Sándor

Ok grazie! Questo è esattamente ciò di cui avevo bisogno.
retep
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.