David Andersson skrev:BadOmen skrev:
Kod: Markera allt
find . -name "*.txt" -exec grep -iH "det_du_söker" {} \;
Plus
Byt \; mot + i ovanstående kommando så går det fortare. (Lika fort som med kombinationen find och xargs grep enligt mönster från tidigare inlägg.)
Alias
Det där är väl praktiskt att ha i en alias (eller egentligen en shell-function) i t.ex ~/.profile:
Kod: Markera allt
findgrep () { find . -name "*$1" -exec grep -iH "$2" {} + ; }
så att man bara behöver skriva:
Det där verkar ju riktig smart men jag har ett par frågor.
1. Vad gör det där plustecknet?
2. Hur ska man göra för att få det att fungera med att bara skriva så här?
Jag klistrade in din första rad, den med plusset till
.profile men det verkade inte vara så enkelt för jag får
"bash: findgrep: kommandot finns inte". Vad är det jag har missat att göra?
3. Funkar det att göra så här för att utnyttja -maxdepth?
Kod: Markera allt
findgrep () { find . -maxdepth "$1" -name "$2" -exec grep -iH "$3" {} + ; }
och
ettan för att bara söka i den mapp man står i.
Jag tog bort * före $2 så får man skriva in den om man vill ha det eller lämna den om man vet vilken fil man vill söka i.