Kommentarer
Svar
Typiskt används grep
för sökning operationer, sed
används för sök och ersätt operationer och awk
är särskilt väl lämpad för tabelldata och har en lägre inlärningskurva än några alternativ. Det finns också överlappande funktioner mellan dessa verktyg, se: När ska man använda grep, less, awk, sed
grep
- Dokumentation:
man grep
,info grep
, GNU grep onlinehandbok - En introduktion till grep och egrep
- grep tutorial
- ripgrep – alternativ implementering, rekursiv som standard, respekterar
.gitignore
, Rust / PCRE2 regex, SIMD, etc - Ebook on GNU grep and ripgrep
sed
- Dokumentation:
man sed
,info sed
, GNU sed onlinehandbok - Sed – En introduktion och handledning
- Sed av Exempel del 1 , Del 2 , Del 3
- sed tutorial
- Ebook on GNU sed one-liners
awk
- Documentation:
man awk
,info awk
,info gawk
, GNU awk onlinehandbok - AWK: A Tutorial and Introduction
- Awk by Exempel på del 1 , Del 2 , Del 3
- En AWK-grundfärg ( alt-länk )
- E-bok om GNU awk one-liners
Ytterligare läsning
Svar
O” Reilly sed och awk boken är utmärkt för en sed d awk.
Svar
Jag skrev en bok om sed
– Definitiv guide till sed – som innehåller en handledning. Det täcker sed
samt relaterade kommandon som grep
, tr
, head
och tail
. Täcker också fullständigt reguljära uttryck mycket bättre än jag har sett någon annanstans.
Jag håller med andra om att solid förståelse av reguljära uttryck är mycket viktigt. Jag håller också med att sed
används bäst för enklare uppgifter, mer komplexa skript blir snabbt dunkla.
Jag håller inte med om att awk
är föråldrad, tvärtom. Det är som många unix saker (t.ex. vi
), det finns en inlärningskurva, men det är värt det.
Jag håller inte med förslaget att använda awk
istället för grep
. Det är inte meningsfullt i min upplevelse. grep
är så bra och enkelt.
Svar
Kokboken Regular Expressions som publicerades av O ”Rielly skulle räcka för att få dig någonstans på vilket språk som helst som använder dem.
Svar
Författarna till boken är Kernigan och Pike titeln är ungefär som ”The Unix P rogramming Environment ”.
Boken som jag faktiskt lärde mig heter” En introduktion till Berkely Unix ”.
Svar
Om du ska lära dig en av dessa 3 (grep, sed och awk) kan du bara lära dig awk / gawk. . awk kan göra grep- och sedfunktioner, dvs. använda regex för att söka / ersätta text, plus mycket mer eftersom det också är ett programmeringsspråk.Om du lär dig insidan av gawk / awk behöver du inte använda grep / sed / wc / cut etc. Bara ett verktyg gör det.
Svar
Enligt min mening är awk mer eller mindre föråldrad (dock andra kommer starkt att argumentera för denna åsikt), de flesta jag känner idag använder istället något manuspråk som perl eller idag ofta python för avancerad text manipulation sed är bra för enklare textmanipuleringsuppgifter, jag använder det hela tiden. Jag lärde mig det främst genom att titta på sed-one-liners som de på http://sed.sourceforge.net/sed1line.txt . När det gäller grep: Jo, du vill i grunden få en gedigen förståelse för reguljära uttryck (behövs också för sed). Jag använde här bara texinfo-handböckerna.
Kommentarer
- awk är fortfarande mycket användbart för att manipulera data från andra kommandon. För enkel kommandoradsanvändning skulle jag inte ' t anser det föråldrad ännu.
- Det borde också finnas tillgängligt på många system ms på grund av POSIX.
- De flesta ' avancerade AWK ' görs troligen bättre med perl eller python eller vad som helst, men de enkla sakerna är trevligt att göra med bara awk.
- Awk är fortfarande bra att veta för att förstå olika svar du kan hitta online när du försöker lösa ett problem. Du hittar ofta exempel online som använder awk-påståenden som
awk '{print $3}'
. - På jobbet och hemma använder jag awk oftare än sed. Ingenting kan slå awk vid fasta tabelldata, som
dpkg -l
-utdata. Jag skulle inte göra ' inget fjärr komplicerat i det, men jag ' d var kort ett verktyg utan besvär. Jag kan ' inte säga samma sak för mer allmänna programmeringsspråk, så mycket som jag tycker om några av dem.
man
-sidan som känns som 90% fotnoter.