[LINUX] [Bash] Umleiten mehrerer Zeilen in mehrere Dateien
- Wenn Sie Bash verwenden, möchten Sie möglicherweise eine Zeichenfolge mit mehreren Zeilen in Shellscript in mehrere Dateien schreiben.
―― Zu diesem Zeitpunkt werden mehrere Echos und mehrere Echos nacheinander geschrieben, und es kann lang werden oder Duplikate können auffallen.
- Notieren Sie daher dieses Mal die Methode zum Schreiben (Umleiten) des Inhalts mehrerer Zeilen in mehrere Dateien gleichzeitig.
Ergebnis
――Der Inhalt des Ergebnisses wird unten angezeigt.
- Dies ist eine Methode, die Bashs Befehl ** Dokument hören ** und ** Tee ** verwendet.
function multi(){
#Definition der mehrzeiligen Zeichenkette im Hördokument
cat <<-EOF
# list data
aaa bbb ccc
ddd eee fff
ggg hhh iii
EOF
}
#Zum Abschlag übergeben und schreiben(umleiten)Geben Sie die Zieldatei an
#Weil es nicht ausgegeben wird/dev/Auf null verwerfen.
multi | tee result.txt result.bak.txt > /dev/null
--Nach dem Schreiben in eine beliebige Shell-Datei ist der Vorgang abgeschlossen, wenn die Ausführung und die Bestätigung der Erstellung möglich sind.
Inhalt
Verwendung dieser Dokumente
- Verwenden Sie Heredoc, wenn Sie mehrere Zeichenfolgen definieren.
――Die folgenden zwei Punkte waren zu diesem Zeitpunkt bewusst.
- **
<< -
um die Einrückung zu aktivieren. ** ** **
- Geben Sie dies an, um das erste Tabulatorzeichen zu entfernen und das Erscheinungsbild anzupassen.
- ** Setzen Sie es in die Funktion. ** ** **
- Der geschriebene Inhalt, ob direkt angegeben oder eine Variable, wird in die Funktion eingefügt und in eine Konstante umgewandelt.
- Es führt zu "Universalität der Organisation und Verwendung schriftlicher Inhalte (Pipes usw.)".
Verwendung des Abschlagbefehls
- ** Verwenden Sie den Befehl **
tee
, um gleichzeitig von der Eingabe auszugeben und zu schreiben.
- Wenn Sie den definierten Inhalt an tee übergeben, wird er gleichzeitig ausgegeben und in die angegebene Datei geschrieben.
- ** * Da es jedoch nicht ausgegeben wird, übergeben Sie den Inhalt an
/ dev / null
und geben Sie nicht aus **
Referenz