Wenn Ihre Daten in einer Datei Sachen genannt:
lastVal="";cat stuff |while read i ; do thisVal=$(echo "$i" |cut -d$'\t' -f'3'); if [ "$lastVal" != "$thisVal" ]; then echo "" ;lastVal=$thisVal; fi ;echo "$i" ;done
Hier ist eine Version des gleichen Befehl, den Sie verwenden können, als ein Skript. Siehe Verwendung unten.
#!/bin/bash
lastVal="";
while read i ; do
thisVal=$(echo "$i" |cut -d$'\t' -f'3')
if [ "$lastVal" != "$thisVal" ]; then
echo ""
lastVal=$thisVal
fi
echo "$i"
done
Wenn Sie das Skript myScript.bash nennen, können Sie es eine dieser beiden Arten verwenden:
cat yourfile | /path/to/myScript.bash
oder
/path/to/MyScript.bash < yourfile
Beachten Sie, wenn Sie Möchten Sie an der Bash-Eingabeaufforderung eine Literal-Registerkarte einfügen, können Sie Strg + V eingeben und dann die Tabulatortaste drücken. Mit Strg + v können Sie auch andere Sonderzeichen einfügen. Mit Strg + v können Sie spezielle Zeichen wie Tab eingeben, um TAB als Trennzeichen im ausgeschnittenen Teil hinzuzufügen, drücken Sie Strg-v und dann die Tabulatortaste (das ist in Linux, nicht SO).
Awk kann tabstoppgetrennte Tabellen lesen und sie kommagetrennte ausgeben. –
Sie können Registerkarten in SO ausschneiden und einfügen. Es ist eine Browser-Sache. – LinuxDisciple
Suchen Sie nach eindeutigen Werten, oder sind diese alle gruppiert und Sie möchten nur eine Leerzeile vor einem neuen Abschnitt? – miken32