Vraag & Antwoord

OS Linux

Verschillen uit 2 bestanden halen op FC4

10 antwoorden
  • In bestandA staan een aantal ipadressen, in bestandB staan ook ipadressen, sommige hiervan staan ook in bestandA. Ik wil een nieuw bestand maken waar alleen de unieke ipadressen instaan die bestandA heeft. Met "comm" en met "diff" lukt het mij niet, wie kan mij op weg helpen met de syntax?
  • [quote:a1f65aaa7e="Venzent"]In bestandA staan een aantal ipadressen, in bestandB staan ook ipadressen, sommige hiervan staan ook in bestandA. Ik wil een nieuw bestand maken waar alleen de unieke ipadressen instaan die bestandA heeft. Met "comm" en met "diff" lukt het mij niet, wie kan mij op weg helpen met de syntax?[/quote:a1f65aaa7e] ik dacht dat er wel iets moest kunnen gedaan worden met cat en grep... maar ik weet niet juist wat (of awk ipv grep)
  • [quote:2323e8dce8="tafelpoot"][quote:2323e8dce8="Venzent"]In bestandA staan een aantal ipadressen, in bestandB staan ook ipadressen, sommige hiervan staan ook in bestandA. Ik wil een nieuw bestand maken waar alleen de unieke ipadressen instaan die bestandA heeft. Met "comm" en met "diff" lukt het mij niet, wie kan mij op weg helpen met de syntax?[/quote:2323e8dce8] ik dacht dat er wel iets moest kunnen gedaan worden met cat en grep... maar ik weet niet juist wat (of awk ipv grep)[/quote:2323e8dce8] [code:1:2323e8dce8] gawk - pattern scanning and processing language [/code:1:2323e8dce8] zeker weten???? Zie niet direct hoe je dat zou moeten doen met awk.....
  • Je kunt dit simpel aanpakken door de 2 bestanden te emrgen om vervolgens uniek te sorteren. Dus : [code:1:89eab47e1d] Bestanden samenvoegen : sort -m de_bewuste_file_1.txt de_bewuste_file_2.txt Nieuwe bestand sorteren en filteren : sort -u de_bewuste_file.txt Of in 1 keer : sort -m input_file_1.txt input_file_2.txt | sort -u > output.txt [/code:1:89eab47e1d] Kijk eens naar de mogelijkheden van stdin en out, dat is heel handig zoals je hier al ziet.
  • [quote:17bc56cfd8="Venzent"][quote:17bc56cfd8="tafelpoot"] ik dacht dat er wel iets moest kunnen gedaan worden met cat en grep... maar ik weet niet juist wat (of awk ipv grep)[/quote:17bc56cfd8] [code:1:17bc56cfd8] gawk - pattern scanning and processing language [/code:1:17bc56cfd8] zeker weten???? Zie niet direct hoe je dat zou moeten doen met awk.....[/quote:17bc56cfd8] ik weet allesinds dat het mogelijk is om met awk dingen niet te laten zien [code:1:17bc56cfd8]cat bestand.txt|awk {en dan iets dat ik niet weet}[/code:1:17bc56cfd8] mja waarschijnlijk lukt dit met grep ook wel (ik dacht trouwens dat grep kwam van gawk -r -e -p maar ik kan mij vergissen) update: de gegeven oplossign lijkt me heel handig!!!
  • [quote:1ebaec3174="tafelpoot"] mja waarschijnlijk lukt dit met grep ook wel [/quote:1ebaec3174] Met grep moet je inderdaad middels -v de hits kunnen laten zie die NIET matchen, echter de output is anders :cry: dit staat in var_ips: (alle online ipadressen) [code:1:1ebaec3174] [root@FC3 softw_read]# cat var_ips 192.168.0.0 192.168.0.18 192.168.0.19 192.168.0.24 192.168.0.25 192.168.0.26 192.168.0.27 192.168.0.28 192.168.0.29 192.168.0.30 192.168.0.31 192.168.0.33 192.168.0.34 192.168.0.35 192.168.0.38 192.168.0.40 192.168.0.41 192.168.0.42 192.168.0.43 192.168.0.46 192.168.0.47 192.168.0.48 192.168.0.49 192.168.0.50 192.168.0.52 192.168.0.53 192.168.0.54 192.168.0.56 192.168.0.58 192.168.0.60 192.168.0.61 192.168.0.63 192.168.0.64 192.168.0.66 192.168.0.67 192.168.0.68 192.168.0.69 192.168.0.71 192.168.0.72 192.168.0.73 192.168.0.75 192.168.0.78 192.168.0.81 192.168.0.82 192.168.0.83 192.168.0.85 192.168.0.86 192.168.0.87 192.168.0.88 192.168.0.89 192.168.0.90 192.168.0.91 192.168.0.94 192.168.0.96 192.168.0.99 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.105 192.168.0.106 192.168.0.107 192.168.0.109 192.168.0.111 192.168.0.112 192.168.0.113 192.168.0.114 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.120 192.168.0.125 192.168.0.127 192.168.0.128 192.168.0.129 192.168.0.131 192.168.0.133 192.168.0.135 192.168.0.136 192.168.0.138 192.168.0.140 192.168.0.144 192.168.0.145 192.168.0.146 192.168.0.147 192.168.0.149 192.168.0.150 192.168.0.151 192.168.0.152 192.168.0.153 192.168.0.156 192.168.0.157 192.168.0.159 192.168.0.162 192.168.0.163 192.168.0.168 192.168.0.169 192.168.0.171 192.168.0.175 192.168.0.178 192.168.0.182 192.168.0.184 192.168.0.187 192.168.0.189 192.168.0.190 192.168.0.194 192.168.0.195 192.168.0.208 192.168.0.214 192.168.1.0 192.168.1.1 192.168.1.2 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.13 192.168.1.16 192.168.1.17 192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.28 192.168.1.29 192.168.1.32 192.168.1.33 192.168.1.34 192.168.1.35 192.168.1.37 192.168.1.38 192.168.1.39 192.168.1.41 192.168.1.42 192.168.1.43 192.168.1.45 192.168.1.46 192.168.1.47 192.168.1.48 192.168.1.49 192.168.1.51 192.168.1.54 192.168.1.55 192.168.1.57 192.168.1.58 192.168.1.61 192.168.1.62 192.168.1.65 192.168.1.66 192.168.1.68 192.168.1.70 192.168.1.75 192.168.1.100 192.168.1.115 192.168.1.150 192.168.1.199 192.168.1.200 192.168.1.207 192.168.1.208 192.168.1.209 192.168.1.210 192.168.1.212 192.168.1.213 192.168.1.215 192.168.1.216 192.168.1.221 192.168.1.222 192.168.1.223 192.168.1.224 192.168.1.225 192.168.1.226 192.168.1.230 192.168.1.231 192.168.1.232 192.168.1.235 192.168.1.240 192.168.1.241 192.168.1.244 192.168.1.245 192.168.1.247 192.168.1.248 192.168.1.249 192.168.1.250 192.168.1.251 192.168.1.253 192.168.1.254 192.168.1.255 [root@FC3 softw_read]# [/code:1:1ebaec3174] Dits staat er in exclusions: (ipadressen die NIET uitgelezen moeten worden) [code:1:1ebaec3174] 192.168.0.0 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 192.168.0.7 192.168.0.8 192.168.0.9 192.168.0.10 192.168.0.11 192.168.0.12 192.168.0.13 192.168.0.14 192.168.0.15 192.168.0.16 192.168.0.17 192.168.0.241 192.168.0.242 192.168.0.243 192.168.0.244 192.168.0.245 192.168.0.246 192.168.0.247 192.168.0.248 192.168.0.249 192.168.0.250 192.168.0.251 192.168.0.252 192.168.0.253 192.168.0.254 192.168.0.255 192.168.1.0 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 192.168.1.17 192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23 etc etc etc (tot 192.168.1.255) [/code:1:1ebaec3174] echter als ik de grep doe met -v (, --invert-match Invert the sense of matching, to select non-matching lines.) [code:1:1ebaec3174] [root@FC3 softw_read]# cat var_ips | grep -v -f exclusions [root@FC3 softw_read]# [/code:1:1ebaec3174] niks dus :cry:
  • cat var_ips | grep -f exclusions geeft wel alle matchen. [code:1:17d015ba70] cat var_ips | grep -f exclusions 192.168.0.0 192.168.0.18 192.168.0.19 192.168.0.24 192.168.0.25 192.168.0.26 192.168.0.27 192.168.0.28 192.168.0.29 192.168.0.30 192.168.0.31 192.168.0.33 192.168.0.34 192.168.0.35 192.168.0.38 192.168.0.40 192.168.0.41 192.168.0.42 192.168.0.43 192.168.0.46 192.168.0.47 192.168.0.48 192.168.0.49 192.168.0.50 192.168.0.52 192.168.0.53 192.168.0.54 192.168.0.56 192.168.0.58 192.168.0.60 192.168.0.61 192.168.0.63 192.168.0.64 192.168.0.66 192.168.0.67 192.168.0.68 192.168.0.69 192.168.0.71 192.168.0.72 192.168.0.73 192.168.0.75 192.168.0.78 192.168.0.81 192.168.0.82 192.168.0.83 192.168.0.85 192.168.0.86 192.168.0.87 192.168.0.88 192.168.0.89 192.168.0.90 192.168.0.91 192.168.0.94 192.168.0.96 192.168.0.99 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.105 192.168.0.106 192.168.0.107 192.168.0.109 192.168.0.111 192.168.0.112 192.168.0.113 192.168.0.114 192.168.0.116 192.168.0.117 192.168.0.118 192.168.0.120 192.168.0.125 192.168.0.127 192.168.0.128 192.168.0.129 192.168.0.131 192.168.0.133 192.168.0.135 192.168.0.136 192.168.0.138 192.168.0.140 192.168.0.144 192.168.0.145 192.168.0.146 192.168.0.147 192.168.0.149 192.168.0.150 192.168.0.151 192.168.0.152 192.168.0.153 192.168.0.156 192.168.0.157 192.168.0.159 192.168.0.162 192.168.0.163 192.168.0.168 192.168.0.169 192.168.0.171 192.168.0.175 192.168.0.178 192.168.0.182 192.168.0.184 192.168.0.187 192.168.0.189 192.168.0.190 192.168.0.194 192.168.0.195 192.168.0.208 192.168.0.214 192.168.1.0 192.168.1.1 192.168.1.2 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.13 192.168.1.16 192.168.1.17 192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.28 192.168.1.29 192.168.1.32 192.168.1.33 192.168.1.34 192.168.1.35 192.168.1.37 192.168.1.38 192.168.1.39 192.168.1.41 192.168.1.42 192.168.1.43 192.168.1.45 192.168.1.46 192.168.1.47 192.168.1.48 192.168.1.49 192.168.1.51 192.168.1.54 192.168.1.55 192.168.1.57 192.168.1.58 192.168.1.61 192.168.1.62 192.168.1.65 192.168.1.66 192.168.1.68 192.168.1.70 192.168.1.75 192.168.1.100 192.168.1.115 192.168.1.150 192.168.1.199 192.168.1.200 192.168.1.207 192.168.1.208 192.168.1.209 192.168.1.210 192.168.1.212 192.168.1.213 192.168.1.215 192.168.1.216 192.168.1.221 192.168.1.222 192.168.1.223 192.168.1.224 192.168.1.225 192.168.1.226 192.168.1.230 192.168.1.231 192.168.1.232 192.168.1.235 192.168.1.240 192.168.1.241 192.168.1.244 192.168.1.245 192.168.1.247 192.168.1.248 192.168.1.249 192.168.1.250 192.168.1.251 192.168.1.253 192.168.1.254 192.168.1.255 [/code:1:17d015ba70]
  • Als je 2 lijsten wil samenvoegen en daar de duplicaten wilt uit halen dan heeft Yohanman toch al een oplossing aangedragen ?
  • [quote:0018176684="Pinky & The Brain"]Als je 2 lijsten wil samenvoegen en daar de duplicaten wilt uit halen dan heeft Yohanman toch al een oplossing aangedragen ?[/quote:0018176684] Ja, maar daar komen dan ook de adressen in die in exclusions voorkomen die niet in de var_ips staan, en dat moet dus niet. Ik wil dus [b:0018176684]alleen[/b:0018176684] de adressen die in var_ips voorkomen die [b:0018176684]niet[/b:0018176684] in exclusions staan.
  • [quote:eabe2cde6d="Venzent"][quote:eabe2cde6d="Pinky & The Brain"]Als je 2 lijsten wil samenvoegen en daar de duplicaten wilt uit halen dan heeft Yohanman toch al een oplossing aangedragen ?[/quote:eabe2cde6d] Ja, maar daar komen dan ook de adressen in die in exclusions voorkomen die niet in de var_ips staan, en dat moet dus niet. Ik wil dus [b:eabe2cde6d]alleen[/b:eabe2cde6d] de adressen die in var_ips voorkomen die [b:eabe2cde6d]niet[/b:eabe2cde6d] in exclusions staan.[/quote:eabe2cde6d] dus 2 lijsten samen voegen en als er een 2 gelijke ips zijn, ze allebei verwijderen

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.