Vollständige Version anzeigen : Bash: IP-Adressen aus Datei auslesen und abarbeiten


Creused
05.07.2014, 12:04

Hallo,

irgendwie stecke ich grade fest.. :D

Ich habe die Datei "output;csv", in dieser stehen viele IP-Adressen drin, und diese möchte ich wiederum mit einem Kommando bearbeiten.

Dies mache ich mittels:
for i in output;csv; do echo "Verarbeite $i"; ~dig-Command~ ;$i; done

Leider kommt bei dem dig immer folgende Fehlermeldung:
dig: couldn't get address for 'output;csv': not found

Weiß jemand wo es hakt?
Die Datei ist Zeile für Zeile aufgebaut:
Beispiel:
-127;0;0;1
-8;8;8;8
-8;8;4;4
usw.

Weiß vielleicht jemand, wo mein Fehler liegt? :)

Danke,

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Manyl
05.07.2014, 15:31

er setzt für $i korrekterweise "output;csv" ein

du musst in der for-schleife den befehl dafür geben, in die output;csv-Datei hineinzugucken, bspw. mit cat


einfaches muster:

for i in $(cat test;csv);
do
echo $i;
done

--> das gibt dir jede zeile einmal aus. hab den befehl mal nich mit echo sondern mit ping gemacht und meine datei mit den zeileneinträgen 1;1;1;1 2;2;2;2 3;3;3;3 (untereinander) ausgeführt. rennt.
for i in $(cat test;csv); do ping $i; done


habs nochmal angepasst, war n syntaxfehler drin. das obige hab ich jetzt auch getestet.


Creused
05.07.2014, 18:51

[..;]

Hi,
Danke für deine Hilfe. :)

Funktioniert an sich, aber noch nicht so genau, wie ich das möchte. :D

Bisher sieht der Output so aus:
~IP~
"open-resolver-detected"

Sprich nicht genau nebeneinander, sondern untereinander was etwas irritierend ist, bei tausenden IP´s...
Wie kann ich das im Script am besten lösen?

ein "do echo $i" und danach das Command geht z;B. nicht.
Auch ein "do echo $i; do ~Command~" geht auch nicht, da er einen Syntaxfehler beim "do" meldet.


miaumiau
24.07.2014, 02:28

Speichere die IP zuerst in einer Variable, dann machst den open resolver check und dann gibst du alles gemeinsam aus.

#in variable speichern
for i in `cat output;csv`; do

ip=$(echo $i)


###
# open resolver check
###

# ausgabe
echo "$ip - $result"

done


Außerdem kannst du mittels echo -ne in die selbe Zeile schreiben, UNIX man pages : echo () (;unixhelp;ed;ac~uk/CGI/man-cgi?echo)
-n do not output the trailing newline
-e enable interpretation of backslash escapes


Beispiele:
[root;abc ~]# echo -n "hallo"; echo "hallo"
hallohallo
[root;abc ~]# echo "hallo"; echo "hallo"
hallo
hallo
[root;abc ~]# echo -n "hallo"; echo -ne " hallo"; echo -e "\nhallo"
hallo hallo
hallo


Edit: Erst jetzt gesehen, dass der Thread schon bisschen älter ist. Thread war auf 2. Platz gelistet.


Ähnliche Themen zu Bash: IP-Adressen aus Datei auslesen und abarbeiten
  • [Batch/Bash] Produktversion auslesen
    Hey Leute, ist es möglich mit einem Batch-Script die "Produktversion" einer Datei auszulesen?Wenn ja wie?;) Gruß Blackbird89 [...]

  • Programm zum Email Adressen Auslesen
    Moin Jungs! Bräuchte mal eure Hilfe und zwar gehts darum dass wir im Geschäft eine Werbemail aufsetzen wollen und es uns da speziell um Email Adressen lokal bei uns in der Umgebung. Jetzt gibts es ja Proggies die Email Adressen aus ner Page auslesen können. Die würde ich dann über die Hom [...]

  • Email Adressen aus Backup auslesen
    das hengt davon ab womit der backup erstellt worde, und auch welche inhalte nach sql uebernommen worden, erstelle dir die text datei, im outlook express dann auf: - Datei - Importieren - Anderes Adressbuch - Textdatei importieren, so aenlich funktioniert es auch im echtem outlook eine txt datei m [...]

  • Email Adressen auslesen
    Hallo leute. Ich bräuchte dringen ein Programm was Websites nach email adressen abcheggt. Hab mal im TV gehört das es sowas gibt... und vll noch ein programm für spam mails... ihr wisst schon bescheid ^^ schonmal danke =) [...]



raid-rush.ws | Imprint & Contact pr