Zum Konvertieren von Sequenzen mit mehr als einem Leerzeichen zu einem Tabulator, aber lassen Sie einzelne Leerzeichen in Ruhe :
sed 's/ \+ /\t/g' inputfile > outputfile
Um dies für eine Reihe von Dateien zu tun:
for inputfile in *
do
sed 's/ \+ /\t/g' "$inputfile" > tmpfile && mv tmpfile "$inputfile"
done
oder
for inputfile in *
do
sed -i.bak 's/ \+ /\t/g' "$inputfile"
done
oder
find . -type f -exec sed -i.bak 's/ \+ /\t/g' {} \;
Wenn Ihr Charakter aus mehreren Tabs besteht, können Sie auch tr -s
verwenden :
-s, --squeeze-repeats replace each input sequence of a repeated character
that is listed in SET1 with a single occurrence
Zum Beispiel:
my_file.txt | tr -s " "
Alle Leerzeichen werden zu einem.
Sie können sed
verwenden mehrere Leerzeichen durch einen Tab ersetzen:
Beispiel zum Ersetzen eines oder mehrerer Leerzeichen durch einen Tabulator:
cat spaced-file | sed 's/ \+/\t/g' > tabbed-file