forord
meget af oplysningerne i dette svar er indsamlet baseret på eksperimenter, der kører på en Vista-maskine. Medmindre andet udtrykkeligt er angivet, har jeg ikke bekræftet, om oplysningerne gælder for andre versionsindo .s-versioner.
FINDSTR output
dokumentationen generer aldrig at forklare output fra FINDSTR. Det henviser til, at matchende linjer udskrives, men intet mere.,
format af matchende line output er som følger:
filename:lineNumber:lineOffset:tekst
hvor
fileName: = navnet på den fil, der indeholder matchende linje. Filnavnet udskrives ikke, hvis anmodningen udtrykkeligt var for en enkelt fil, eller hvis du søger piped input eller omdirigeret input. Når det udskrives, vil filnavnet altid indeholde alle stioplysninger. Yderligere stioplysninger vil blive tilføjet, hvis indstillingen /S
bruges. Den udskrevne sti er altid i forhold til den angivne sti eller i forhold til den aktuelle mappe, hvis ingen er angivet.,
Bemærk – filnavnspræfikset kan undgås, når du søger flere filer ved hjælp af de ikke-standardiserede (og dårligt dokumenterede) jokertegn <
og >
. De nøjagtige regler for, hvordan disse jokertegn fungerer, findes her. Endelig kan du se på dette eksempel på, hvordan de ikke-standard jokertegn fungerer med FINDSTR.
linjenummer: = linjenummeret på den matchende linje repræsenteret som en decimalværdi med 1, der repræsenterer den 1.linje i input. Udskrives kun, hvis /N
er angivet.,
lineOffset: = decimalbyte-forskydningen af starten af den matchende linje, med 0, der repræsenterer 1.tegn på 1. linje. Udskrives kun, hvis/O
er angivet. Dette er ikke forskydningen af kampen inden for linjen. Det er antallet af bytes fra begyndelsen af filen til begyndelsen af linjen.
tekst = Den binære repræsentation af den matchende linje, herunder eventuelle <CR> og/eller <LF>., Intet er udeladt af den binære output, således at dette eksempel, der matcher alle linjer vil producere en nøjagtig binær kopi af den oprindelige fil.
FINDSTR "^" FILE >FILE_COPY
indstillingen /A angiver kun farven på filnavnet:, lineNumber: og lineOffset: output. Teksten på den matchende linje udsendes altid med den aktuelle konsolfarve. Indstillingen / A har kun virkning, når output vises direkte til konsollen. Valgmuligheden / A har ingen virkning, hvis output omdirigeres til en fil eller pipes., Se 2018-08-18 redigere i Aacini svar for en beskrivelse af buggy adfærd, når output er omdirigeret til CON.
de Fleste kontrol af tegn og mange udvidede ASCII-tegn, vises som prikker på XP
FINDSTR på XP viser ikke-printbare kontrol tegn fra at matche linjer som prikker (perioder) på skærmen. Følgende kontrol tegn er undtagelser; de vise som sig selv: 0x09 Tab, 0x0A LineFeed (linjeskift), 0x0B Lodret Tabulator, 0x0C Form Feed, 0x0D vognretur.
XP FINDSTR konverterer også et antal udvidede ASCII-tegn til prikker., De udvidede ASCII-tegn, der vises som prikker på .p, er de samme som dem, der transformeres, når de leveres på kommandolinjen. Se afsnittet “Tegngrænser for kommandolinjeparametre-udvidet ASCII-transformation”, senere i dette indlæg
kontroltegn og udvidet ASCII konverteres ikke til prikker på .p, hvis output ledes, omdirigeres til en fil eller inden for en FOR i () – klausul.Vista og 7indo .s 7 viser altid alle tegn som sig selv, aldrig som prikker.,
Returkoder (ERRORLEVEL)
- 0 (succes)
- Match blev fundet i mindst en linje med mindst en fil.
- 1 (fejl)
- der blev ikke fundet nogen match i nogen fillinje.,iv id=”b01f5d4aef”>
/D:
, eller/G:
- Fil, der er angivet med
/F:file
eller/G:file
ikke fundet
- der blev ikke fundet nogen match i nogen fillinje.,iv id=”b01f5d4aef”>
- 255 (fejl)
- alt For mange regulære udtryk karakter klasse vilkårene
se Regex karakter klasse sigt grænse og FEJL i del 2 af svar
- alt For mange regulære udtryk karakter klasse vilkårene
Kilde af data til søgning (Opdateret baseret på forsøg med Windows 7)
Findstr kan søge data fra kun én af de følgende kilder:
-
filnavne, der er angivet som argumenter og/eller ved brug af
/F:file
option., -
stdin via omdirigering
findstr "searchString" <file
-
data stream fra et rør
type file | findstr "searchString"
Argumenterne/valg forrang for omdirigering, som har forrang over peb data.
filnavnsargumenter og/F:file
kan kombineres. Flere filnavn argumenter kan anvendes. Hvis der er angivet flere /F:file
indstillinger, bruges kun den sidste. Wildild cards er tilladt i filnavnsargumenter, men ikke i den fil, der er angivet med /F:file
.,
kilde til søgestrenge (opdateret baseret på test med Windowsindo .s 7) /G:file
og/C:string
valgmulighederne kan kombineres. Multiple /C:string
indstillinger kan angives. Hvis der er angivet flere /G:file
indstillinger, bruges kun den sidste. Hvis enten /G:file
eller /C:string
bruges, antages alle ikke-valgfrie argumenter at være filer, der skal søges., Hvis hverken /G:file
eller /C:string
bruges, behandles det første argument, der ikke er valgmulighed, som en mellemrum afgrænset liste over søgetermer.
filnavne må ikke citeres i filen, når du bruger indstillingen /F:FILE
.
filnavne kan indeholde mellemrum og andre specialtegn. De fleste kommandoer kræver, at sådanne filnavne er citeret. Men indstillingen FINDSTR /F:files.txt
kræver, at filnavne i filer.t .t må ikke citeres. Filen vil ikke blive fundet, hvis navnet er citeret.
BUG – kort 8.,3 filnavne kan bryde /D
og /S
indstillinger
Som med alle Windows-kommandoer, FINDSTR vil forsøge at matche både det lange navn og den korte 8.3-navn, når man søger efter filer til at søge. Antage, at den aktuelle mappe indeholder følgende ikke-tomme filer:
b1.txtb.txt2c.txt
Den følgende kommando vil kunne finde alle 3 filer:
findstr /m "^" *.txt
b.txt2
kampe, fordi den tilsvarende kort betegnelse B9F64~1.TXT
svarer til., Dette er i overensstemmelse med opførelsen af alle andre commandsindo .s-kommandoer.
Men en fejl med /D
og /S
valg forårsager følgende kommandoer til kun at finde b1.txt
findstr /m /d:. "^" *.txtfindstr /m /s "^" *.txt
bug forhindrer b.txt2
fra at blive fundet, så godt som alle fil-navne, der sortere efter b.txt2
i den samme mappe. Yderligere filer, der sorterer før, som a.txt
, findes., Yderligere filer, der sorterer senere, som d.txt
, bliver savnet, når fejlen er blevet udløst.
hver mappe, der søges, behandles uafhængigt. For eksempel /S
option vil med held begynde at søge i en underordnet mappe, efter ikke at finde filer, der er i moderselskabet, men når fejlen forårsager en kort filnavnet til at være savnet i barnet, så alle efterfølgende filer i, at barnet mappe vil også blive savnet.kommandoerne fungerer fejlfrit, hvis de samme filnavne oprettes på en maskine, der har NTFS 8.3-navnegenerering deaktiveret., Selvfølgelig b.txt2
ville ikke blive fundet, men c.txt
ville blive fundet korrekt.
ikke alle korte navne udløser fejlen. Alle forekomster af aflyttet adfærd, jeg har set, involverer en udvidelse, der er længere end 3 tegn med et kort 8.3-navn, der begynder det samme som et normalt navn, der ikke kræver et 8.3-navn.
fejlen er blevet bekræftet på .p, Vista og Windowsindo .s 7.,
Ikke-Printable tegn og /P
mulighed/P
indstilling medfører, at FINDSTR at springe en fil, der indeholder et af følgende decimal byte-kode:
0-7, 14-25, 27-31.
sagt på en anden måde vil/P
kun springe over filer, der indeholder kontroltegn, der ikke kan udskrives. Kontrol tegn er koder mindre end eller lig med 31 (0 .1f)., FINDSTR behandler følgende kontrol tegn, som printable:
8 0x08 backspace 9 0x09 horizontal tab10 0x0A line feed11 0x0B vertical tab12 0x0C form feed13 0x0D carriage return26 0x1A substitute (end of text)
Alle andre behandles som ikke-printbare, tilstedeværelsen af som forårsager /P
mulighed for at springe filen.
Peb og Omdirigeret input kan have <CR><LF>
vedlagt
Hvis input er peb i, og det sidste tegn af stream er ikke <LF>
, så FINDSTR, vil automatisk tilføje <CR><LF>
til input. Dette er blevet bekræftet på .p, Vista og Windowsindo .s 7., (Jeg plejede at tro, at Windowsindo .s pipe var ansvarlig for at ændre input, men jeg har siden opdaget, at FINDSTR faktisk gør ændringen.)
det samme gælder for omdirigeret input på Vista. Hvis det sidste tegn i en fil, der bruges som omdirigeret input, ikke er <LF>
, tilføjes FINDSTR automatisk <CR><LF>
til input. XP og 7indo .s 7 ændrer dog ikke omdirigeret input.
FINDSTR hænger på XP og Windows 7, hvis omdirigeret input ikke ende med <LF>
Dette er en nasty “funktion” på XP og Windows 7., Hvis det sidste tegn i en fil, der bruges som omdirigeret input, ikke slutter med <LF>
, vil FINDSTR hænge på ubestemt tid, når den når slutningen af den omdirigerede fil.
Sidste linje af Rørlagte data kan ignoreres, hvis den består af et enkelt tegn
Hvis input er peb i, og den sidste linje består af et enkelt tegn, der ikke er efterfulgt af <LF>
, så FINDSTR fuldstændig ignorerer den sidste linje.,
Eksempel – Den første kommando med en enkelt karakter og ikke <LF>
undlader at matche, men på den anden kommando med 2 tegn virker fint, som den tredje kommando, der har en karakter med afslutning newline.
> set /p "=x" <nul | findstr "^"> set /p "=xx" <nul | findstr "^"xx> echo x| findstr "^"x
rapporteret af DosTips bruger svamp mave på ny findstr bug. Bekræftet på ,p, Windowsindo .s 7 og 8indo .s 8. Jeg har ikke hørt om Vista endnu. (Jeg har ikke længere Vista til at teste).
Option syntaks
Mulighed bogstaver er ikke case-sensitive, så /i
og /I
er ækvivalente.,
Valg kan være forsynet med et præfiks bestående enten /
eller -
Valg kan være sammensat efter en enkelt /
eller -
. Den sammenkædede optionsliste kan dog højst indeholde en multicharacter-indstilling som OFF eller F:, og multi-character-indstillingen skal være den sidste mulighed på listen.,
følgende er alle tilsvarende måder at udtrykke mellem store og små bogstaver regex søg efter en linje, der indeholder både “goddag” og “farvel” i vilkårlig rækkefølge
-
/i /r /c:"hello.*goodbye" /c:"goodbye.*hello"
-
-i -r -c:"hello.*goodbye" /c:"goodbye.*hello"
-
/irc:"hello.*goodbye" /c:"goodbye.*hello"
Hvis en søge streng, der begynder med /
eller -
bogstavelig, så /C
eller /G
indstilling skal anvendes. Tak til Stephan for at rapportere dette i en kommentar (siden slettet).,
søgestrengslængdegrænser
På Vista er den maksimalt tilladte længde for en enkelt søgestreng 511 bytes. Hvis en søgestreng overstiger 511, er resultatet en FINDSTR: Search string too long.
fejl med ERRORLEVEL 2.
når du foretager en regelmæssig ekspressionssøgning, er den maksimale søgestrengslængde 254. Et regulært udtryk med længde mellem 255 og 511 vil resultere i en FINDSTR: Out of memory
fejl med ERRORLEVEL 2. En regulær udtryklængde >511 resulterer i FINDSTR: Search string too long.
fejl.,
på Windowsindo .s .p er søgestrengens længde tilsyneladende kortere. Findstr-fejl:” søgestreng for lang”: Hvordan udtrækkes og matches substring i” for ” loop?Limitp-grænsen er 127 byte til både bogstavelige og Rege. – søgninger.
Linjelængdegrænser
filer angivet som et kommandolinjeargument eller via / f:FILE-indstillingen har ingen kendt linjelængdegrænse. Søgninger blev med succes kørt mod en 128 MB fil, der ikke indeholdt en enkelt <LF>.
Rørdata og omdirigeret input er begrænset til 8191 byte pr.linje., Denne grænse er en” funktion ” af FINDSTR. Det er ikke iboende for rør eller omdirigering. FINDSTR ved hjælp af omdirigeret stdin eller piped input vil aldrig matche nogen linje, der er >=8k bytes. Linjer >= 8k generer en fejlmeddelelse til stderr, men ERRORLEVEL er stadig 0, hvis søgestrengen findes i mindst en linje med mindst en fil.
standard type søgning: Literal vs Regulært udtryk/C:"string"
– standard er / L literal. Eksplicit at kombinere / l-indstillingen med /c:”string” fungerer bestemt, men er overflødig.,
"string argument"
– standard afhænger af indholdet af den allerførste søgestreng. (Husk at <space> bruges til at afgrænse søgestrenge.) Hvis den første søgestreng er et gyldigt regulært udtryk, der indeholder mindst et un-escaped meta-tegn, behandles alle søgestrenge som regulære udtryk. Ellers behandles alle søgestrenge som bogstavelige., For eksempel: "51.4 200"
vil blive behandlet som to regulære udtryk, fordi den første streng indeholder en fn-undslap prik, der henviser til, at "200 51.4"
vil blive behandlet som to konstanter, fordi den første streng, der ikke indeholder nogen meta-tegn.
/G:file
– standard afhænger af indholdet af den første ikke-tomme linje i filen. Hvis den første søgestreng er et gyldigt regulært udtryk, der indeholder mindst et un-escaped meta-tegn, behandles alle søgestrenge som regulære udtryk., Ellers behandles alle søgestrenge som bogstavelige.
Anbefaling – Altid eksplicit at angive /L
bogstavelig mulighed, eller /R
regulære udtryk indstilling ved brug af "string argument"
eller /G:file
.
FEJLSPECIFICERING af flere bogstavelige søgestrenge kan give upålidelige resultater
følgende enkle FINDSTR – eksempel finder ikke et match, selvom det burde.
echo ffffaaa|findstr /l "ffffaaa faffaffddd"
Denne fejl er blevet bekræftet på Windows Server 2003, Windows XP, Vista, og Windows 7.,
Baseret på eksperimenter, FINDSTR kan mislykkes, hvis alle følgende betingelser er opfyldt:
- søgningen er ved hjælp af flere bogstavelig søgestrenge
- søgestrenge er af forskellige længder
- En kort søgestreng har en vis mængde af overlapper med en længere søgning string
- søg på store og små bogstaver (ingen
/I
option)
I enhver fiasko, jeg har set, det er altid en af de kortere søgestrenge, der svigter.
For mere info se hvorfor finder ikke dette FINDSTR-eksempel med flere bogstavelige søgestrenge et match?,
Citater og backslahses inden kommandolinjeargumenter
Bemærk – Bruger MC ND ‘ s kommentarer afspejler de faktiske skrækkeligt komplicerede regler for dette afsnit. Der er 3 forskellige parsing faser involveret:
- første cmd.,exe kan kræve nogle citater til at være undsluppet som ^” (virkelig noget at gøre med FINDSTR)
- Næste FINDSTR bruger pre 2008 MS C/C++ argument parser, der har særlige regler for ” og \
- Efter argumentet parser afsluttet, FINDSTR derudover behandler \ efterfulgt af en alpha-numeriske tegn, som bogstavelig, men \ efterfulgt af non-alpha-numeriske tegn som et escape-tegn
resten af dette fremhævet afsnit, er ikke 100% korrekt. Det kan tjene som vejledning i mange situationer, men ovenstående regler er nødvendige for total forståelse.,
Escaping Citat inden kommandolinjesøgning strenge
Citater inden kommandolinjesøgning strenge skal undgås med backslash som\"
. Dette gælder for både bogstavelige og Rege.søgestrenge. Thisinformation er blevet bekræftet på .p, Vista og Windowsindo .s 7.Bemærk: citatet kan også være nødvendigt at undslippe for CMD.E .e parser, men dette har intet at gøre med FINDSTR., For eksempel, for at søge efter enenkelt tilbud du kan bruge:
FINDSTR \^" file && echo found || echo not found
Backslash Escaping inden for kommandolinjen bogstavelig søgestrenge
Backslash i en bogstavelig søgestreng kan normalt være repræsenteret som\
eller\\
. De er typisk ækvivalente. (Der kan være unusualcases i Vista, hvor backslash altid skal undsluppes, men jeg nolonger har en Vista maskine til at teste).men der er nogle specielle tilfælde:
Når du søger efter på hinanden følgende tilbageslag, skal alle undtagen de sidste beescaped., Den sidste tilbageslag kan eventuelt undsluppes.
\\
kan være kodet som\\\
eller\\\\
\\\
kan være kodet som\\\\\
eller\\\\\\
Søgning efter en eller flere omvendte skråstreger, inden et tilbud er bizar. Logicwouldould antyde, at citatet skal undsluppes, og hver af de leadingbackslashes skulle undsluppet, men det virker ikke!, I stedet,hver af de førende omvendte skråstreger skal være dobbelt undslap, og quoteis undslap normalt:
\"
skal være kodet som\\\\\"
\\"
skal være kodet som\\\\\\\\\"
Som tidligere bemærket, en eller flere undslap citater kan også kræve, at flygte med
^
for CMD-parserinfo i dette afsnit, er blevet bekræftet på XP og Windows 7.,
Backslash Escaping inden for kommandolinjen regex søgestrenge
Vista: omvendt skråstreg i et regulært skal være enten dobbelt flygtede som
\\\\
, eller andet enkelt undslap inden for en karakter klasse sæt somXP og Windows 7: Omvendt skråstreg i en regex kan altid være repræsenteret som
. Det kan normalt repræsenteres som
\\
. Men dette fungerer aldrig, hvis backslashen går forud for et undsluppet citat.,aped citat skal enten bedouble undslap, ellers kodes som
\"
kan kodes som\\\\\"
eller\"
\\"
kan kodes som\\\\\\\\\"
eller\"
eller\\\"
Flygter Tilbud og omvendt skråstreg i /G:FIL bogstavelig søgestrenge
Enkeltstående citater og omvendte skråstreger i en bogstavelig søgestreng filen angivet ved /G:fil ikke behøver at være undsluppet, men de kan være.,
"
og \"
er ækvivalente.
\
og \\
er ækvivalente.
Hvis hensigten er at finde \\, skal i det mindste det førende tilbageslag undgås. Både \\\
og \\\\
arbejde.
Hvis hensigten er at finde “, skal i det mindste det førende tilbageslag undgås. Både \\"
og \\\"
arbejde.,
Escaping Quoteuote og Backslash inden for / G:FILE rege.search strings
Dette er det ene tilfælde, hvor escape-sekvenserne fungerer som forventet baseret på dokumentationen. Citat er ikke en rege.metakarakter, så det behøver ikke at undslippe (men kan være). Backslash er en rege.metakarakter, så det skal undslippes.
Tegngrænser for kommandolinjeparametre – udvidet ASCII-transformation
null-tegnet (0 .00) kan ikke vises i nogen streng på kommandolinjen. Enhver anden enkelt byte tegn kan vises i strengen (0 .01-0 .ff)., FINDSTR konverterer dog mange udvidede ASCII-tegn, den finder inden for kommandolinjeparametre til andre tegn. Dette har en stor indflydelse på to måder:
-
mange udvidede ASCII-tegn matcher ikke sig selv, hvis de bruges som en søgestreng på kommandolinjen. Denne begrænsning er den samme for bogstavelige og Rege.søgninger. Hvis en søgestreng skal indeholde udvidet ASCII, skal indstillingen
/G:FILE
bruges i stedet. -
FINDSTR kan ikke finde en fil, hvis navnet indeholder udvidede ASCII-tegn, og filnavnet er angivet på kommandolinjen., Hvis en fil, der skal søges, indeholder udvidet ASCII i navnet, skal indstillingen
/F:FILE
bruges i stedet.
Her er en komplet liste over udvidede ASCII-tegntransformationer, som FINDSTR udfører på kommandolinjestrenge. Hvert tegn er repræsenteret som decimal byte kode værdi. Den første kode repræsenterer tegnet som leveret på kommandolinjen, og den anden kode repræsenterer det tegn, det er omdannet til. Bemærk – Denne liste blev udarbejdet på en amerikansk maskine. Jeg ved ikke, hvilken indflydelse andre sprog kan have på denne liste.,
158 treated as 080 199 treated as 221 226 treated as 071169 treated as 170 200 treated as 043 227 treated as 112176 treated as 221 201 treated as 043 228 treated as 083177 treated as 221 202 treated as 045 229 treated as 115178 treated as 221 203 treated as 045 231 treated as 116179 treated as 221 204 treated as 221 232 treated as 070180 treated as 221 205 treated as 045 233 treated as 084181 treated as 221 206 treated as 043 234 treated as 079182 treated as 221 207 treated as 045 235 treated as 100183 treated as 043 208 treated as 045 236 treated as 056184 treated as 043 209 treated as 045 237 treated as 102185 treated as 221 210 treated as 045 238 treated as 101186 treated as 221 211 treated as 043 239 treated as 110187 treated as 043 212 treated as 043 240 treated as 061188 treated as 043 213 treated as 043 242 treated as 061189 treated as 043 214 treated as 043 243 treated as 061190 treated as 043 215 treated as 043 244 treated as 040191 treated as 043 216 treated as 043 245 treated as 041192 treated as 043 217 treated as 043 247 treated as 126193 treated as 045 218 treated as 043 249 treated as 250194 treated as 045 219 treated as 221 251 treated as 118195 treated as 043 220 treated as 095 252 treated as 110196 treated as 045 222 treated as 221 254 treated as 221197 treated as 043 223 treated as 095198 treated as 221 224 treated as 097
Enhver karakter >0, ikke er i listen ovenfor er behandlet som sig selv, herunder <CR>
og <LF>
. Den nemmeste måde at inkludere ulige tegn som <CR>
og<LF>
er at få dem ind i en miljøvariabel og bruge forsinket udvidelse inden for kommandolinjeargumentet.,
tegngrænser for strenge, der findes i filer, der er specificeret af /G:FILE og / f:FILE options
nul (0 .00) – tegnet kan vises i filen, men det fungerer som C-strengterminatoren. Alle tegn efter et nul-tegn behandles som en anden streng, som om de var på en anden linje.
<CR>
og<LF>
tegn behandles som linjeterminatorer, der afslutter en streng og ikke er inkluderet i strengen.
alle andre enkelt byte tegn er inkluderet perfekt i en streng.,
Søgning Unicode-filer
FINDSTR ikke korrekt søge de fleste Unicode (UTF-16, UTF-16LE, UTF-16BE, UTF-32), fordi det ikke kan søge til nul-byte og Unicode indeholder typisk mange nul-byte.
imidlertid konverterer kommandoen TYPE UTF-16LE med BOM til et enkelt byte tegnsæt, så en kommando som følgende fungerer med UTF-16LE med BOM.
type unicode.txt|findstr "search"
Bemærk, at Unicode-kodepunkter, der ikke understøttes af din aktive kodeside, konverteres til ?
tegn.,
det er muligt at søge UTF-8, så længe din søgestreng kun indeholder ASCII. Konsoludgangen for alle multi-byte UTF-8-tegn vil dog ikke være korrekt. Men hvis du omdirigerer output til en fil, bliver resultatet korrekt kodet UTF-8. Bemærk, at hvis UTF-8-filen indeholder en BOM, vil BOM blive betragtet som en del af den første linje, som kan smide en søgning, der matcher begyndelsen af en linje.
det er muligt at søge i multi-byte UTF-8 tegn, hvis du sætter din søgestreng i en UTF-8-kodet søgefil (uden BOM) og bruger /g-indstillingen.,
slutningen af linjen
FINDSTR bryder linjer umiddelbart efter hver <LF>. Tilstedeværelsen eller fraværet af <CR> har ingen indflydelse på linjeskift.
for at Søge på tværs linjeskift ved
Som forventet, .
regex metategn vil ikke svare <CR> eller <LF>. Men det er muligt at søge på tværs af en linjeskift ved hjælp af en kommandolinjesøgestreng., Både <CR> og <LF> tegn, der skal matches eksplicit. Hvis der findes en multi-line kamp, udskrives kun 1. linje i kampen. FINDSTR fordobler derefter tilbage til 2.linje i kilden og begynder søgningen igen – slags en “look ahead” type funktion.
Antag tekst.,TXT har disse indhold (kunne være Unix eller Windows-style)
AAABAA
Så er dette script
giver disse resultater
1:A2:A5:A
for at Søge på tværs linjeskift hjælp /G:FIL mulighed er upræcis, fordi den eneste måde at matche <CR> eller <LF> via en regex karakter klasse række udtryk, der sandwich EOL tegn.,
-
matches <LF>, but it also matches <TAB> and <0x0B>
-
matches <CR>, but it also matches <0x0C> and !
Note – the above are symbolic representations of the regex byte stream since I can’t graphically represent the characters.,
svar fortsatte i del 2 nedenfor…