2016-11-15 5 views

Antwort

0

Eine Option ist grep zu verwenden, das kann für Ihren Fall, zum Beispiel arbeiten:

grep "^a\s" file > a.txt 
grep "^b\s" file > b.txt 
+0

Vielen Dank für Ihre Antwort. Aber ich bekomme viele Reihen, nicht nur zwei Reihen. – zhanzezhu

+0

Bitte senden Sie Ihr Skript, die Eingabedaten, die Ausgabe, die Sie erhalten, und die Ausgabe, die Sie erwarten. – user1934428

3

Bedenkt man, dass die von Ihnen angegebenen Daten werden in einer Datei mit dem Namen „data.file“ gespeichert, diese funktionieren ok für mich:

datasource=$(cat data.file) 

while IFS='' read -r line; do 
filename=$(cut -f 1 -d " " <<<$line) 
contents=$(cut -f 2 -d " " <<<$line) 
echo "$contents" > "$filename" 
done <<< "$datasource" 
Verwandte Themen