Meine Datei besteht aus folgenden Elementen: grob:
username:username:username:username:username
Die obige Zeile enthält weiterhin ca. 600 Zeichen.
Ich verwende den awk
Befehl, um ihn als Argument in einer API / HTTP-Anforderung zu verwenden, die über die Befehlszeile gesendet wird.
Ich verwende mein Skript, um eine Liste der Benutzerkonten zu erhalten, die mir folgen, und vergleiche etwa alle 24 Stunden die ursprüngliche Liste auf meiner Festplatte mit der neu ausgegebenen Benutzernamenliste (und erkläre, wer nicht mehr folgt mich . ich muss meine Logik in einer Schleife kapseln bash verwenden .. testen jedes Benutzernamen ein .
Mein aktuelles Skript:
user=$(awk -F: '{ print $1 }' FILE) # Grab $User to use as an argument.
following=$(exec CURRENT_FOLLOWERS) # Outputs the new file
echo "X amount of users are following you on 78B066B87AF16A412556458AC85EFEF66155"
SAVE CURRENT FOLLOWERS TO NEW A FILE.
if [[ DIFFERENCE IS DETECTED ]] ; then
echo -ne "$User NO LONGER FOLLOWING YOU\r"
else echo -ne "This user is following you still.\r"
fi
Meine Frage ist;
Wie kann ich den Unterschied zwischen 2 Dateien ausgeben?
bash
command-line
awk
output
Ben
quelle
quelle
diff
, richtig?Antworten:
Das Dienstprogramm, das Sie suchen, ist
diff
. Weitere Informationen finden Sie im Handbuch.quelle
Bei zwei Dateien mit unsortierten Benutzerlisten, z
und
Dann können Sie eine einfache Liste der Benutzer erstellen
file1
, die nichtfile2
angezeigt werdenund ähnlich, um die Benutzer in,
file2
aber nicht in zu bekommenfile1
Wenn die Liste Dateien , die bereits sortiert sind, können diese vereinfacht werden
comm -23 file1 file2
undcomm -13 file1 file2
jeweils.quelle
comm
ohne zu sortieren? Meine Textdatei hat Werte wie1
,2
,01
,02
,0000
,0001
,0002
usw. Verwendungsort
wird De-Art den Auftrag ...Der beste Befehl, um den Unterschied im Inhalt der Dateien anzuzeigen, wäre
quelle
diff [options] from-file to-file
diff
vergleicht den Inhalt der beiden Dateien von Datei zu Datei. Sie können die angeben-i
Option Änderungen für den Fall ignoriert werden. Betrachten Sie Groß- und Kleinbuchstaben als gleichwertig.Weitere Informationen finden Sie unter folgendem Link: http://www.computerhope.com/unix/udiff.htm oder auf der Handbuchseite.
quelle
Sie können die gleichen Fenster wie versuchen
fc
Befehl unter Unix und Linux dh dendiff <file_new> <file_old>
Befehl.Linie mit
+++
oder---
vor ihnen hat sich geändert und eine ohne+'s
und-'s
hat sich nicht geändertLinien mit
-
Vorzeichen werden aus der neuen Datei entfernt, obwohl sie in der alten Version vorhanden warenZeilen mit
+
Vorzeichen werden aus einer neuen Datei hinzugefügt, waren jedoch in der alten Version der Datei nicht vorhandenLinux-Notation
Linux verwendet
>
und<
>
bedeutet, dass die Zeile aus der alten Datei<
die Zeile aus der neuen Datei bedeutet, die in der alten Datei geändert wirdquelle
Wählen Sie vimdiff, um Unterschiede zwischen zwei, drei oder vier Versionen derselben Datei anzuzeigen .
quelle