Angenommen, ich habe eine Zeile, die ich zu einer Datei hinzufügen möchte, ohne einen Editor zu öffnen.
Wie könnte ich diese Zeile anhängen
alias list='ls -cl --group-directories-first'
zu dieser Datei
config.fish
Angenommen, ich habe eine Zeile, die ich zu einer Datei hinzufügen möchte, ohne einen Editor zu öffnen.
Wie könnte ich diese Zeile anhängen
alias list='ls -cl --group-directories-first'
zu dieser Datei
config.fish
Mit dem folgenden Operator können Sie einer Datei eine Textzeile hinzufügen >>
:
echo "hello world" >> my_file.txt
oder in deinem Fall
echo "alias list='ls -cl --group-directories-first'" >> config.fish
Bitte beachten Sie die verschiedenen Arten von Zitaten .
>
angibst, wird die Datei abgeschnitten und nicht angehängt. für einen sichereren befehl kannst du sed verwenden:sed -i '$a hello world' filename
-i
aktualisiert die datei (andernfalls wird nur das ergebnis in stdout ausgegeben),$
ist regex, das mit dem ende der dateia
übereinstimmt , und hängt den folgenden text an den dateinamen an.echo "hello world" >> my_file.txt
erstellt keine neue letzte Zeile mitHW
, sondern fügt sie der Zeichenfolge der letzten Zeile hinzu.HW
@timo?echo
was den Zeilenumbruch hinzufügt (was es zu einer Zeile macht, im Gegensatz zu nur einer Reihe von Zeichen). Sie können den Zeilenumbruch am Ende mit ausschalten-n
.Es gibt viele Methoden, Dateien anzufügen, ohne Texteditoren zu öffnen, insbesondere über mehrere verfügbare Textverarbeitungsprogramme in Ubuntu.
tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
quelle
Als Ergänzung zu Stefanos Antwort können Sie auch Folgendes verwenden
cat
:Mit einem Heredoc:
<<'EOF'
bedeutet "Nimm das Folgende als Eingabe, bis du eine gerade Linie erreichstEOF
". Die Anführungszeichen bedeuten, die Eingabe wörtlich zu nehmen.Oder die Zeile auf stdin eingeben:
Fügen Sie dann die Zeile ein oder geben Sie sie ein, drücken Sie Enter, um zu einer neuen Zeile zu wechseln, und drücken Sie dann Strg + D, um das Ende zu markieren.
quelle