Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

Verschillen uit 2 bestanden halen op FC4

Venzent
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

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