Gå til innhold

bruk av ls kommando, hvordan ekskludere filer


Anbefalte innlegg

har disse filene i en katalog:

 

marius@marius-laptop:~/Desktop/tull$ ls

n607760507_422652_5055.jpg wm-wm-n607760507_422652_5055.jpg

Skjermdump.png wm-wm-Skjermdump.png

thumbs wm-wm-wm-n607760507_422652_5055.jpg

wm-n607760507_422652_5055.jpg wm-wm-wm-Skjermdump.png

wm-Skjermdump.png

 

For å hente ut alle filer som starter med wm bruker man:

 

marius@marius-laptop:~/Desktop/tull$ ls wm*

wm-n607760507_422652_5055.jpg wm-wm-Skjermdump.png

wm-Skjermdump.png wm-wm-wm-n607760507_422652_5055.jpg

wm-wm-n607760507_422652_5055.jpg wm-wm-wm-Skjermdump.png

 

 

Hvordan bruker jeg komandoen og tegnsetting slik at den ekskluderer alt som ikke har med wm* å gjøre...

 

noe lignende:

ls !wm*

Lenke til kommentar
Videoannonse
Annonse

Eventuelt kan man la ls ta seg av arbeidet.

 

"man ls" er også fin å bruke.

hildenae@inutaisho ~$ ls
HELP                g2_images/            upload/
Maildir/             g2data/                 webcam.jpg
Scripts/             public_html/          workspace/
src/                  workspace-bak/


hildenae@inutaisho ~$ ls -I "HELP" -I "g2*"
Maildir/            public_html/          webcam.jpg
Scripts/            src/                      workspace/
upload/            workspace-bak/

 

"-I" tar et shellpattern for å utelukke filer

 

hvis jeg ikke tar feil, vil vel alt av fargekoding, bold osv bli borte hvis du sender det gjennom grep?

Endret av Kagee
Lenke til kommentar

mv hadde irriterende nok ingen utelukkingsnøkkel. Men det er jo alltid en god dag å lære "find"

hildenae@inutaisho ~/Backup$ ls
data1.txt  data3.txt  fil2.txt  folder1/
data2.txt  fil1.txt   fil3.txt  numer1.txt

hildenae@inutaisho ~/Backup$  find -type f -and \( ! -name "*1.txt" -and ! -name "*3.txt" \) -maxdepth 1 -exec mv "{}" folder1 \;

hildenae@inutaisho ~/Backup$ ls
data1.txt  data3.txt  fil1.txt  fil3.txt  folder1/  numer1.txt

hildenae@inutaisho ~/Backup$ cd folder1/
hildenae@inutaisho ~/Backup/folder1$ ls
data2.txt  fil2.txt

 

find                                    //finn
-type f                               //filer, ikke mapper
-and \( ! -name "*1.txt"      // ikke passer til *1.txt 
-and ! -name "*3.txt" \)     //og heller ikke *3.txt (dvs bare *2.txt)
-maxdepth 1                   // i mappen du står i 
-exec mv "{}" folder1 \;  // bruk mv og flytt dem til mappen fodler1

 

Du er vel på jakt etter

find -type f -and \( ! -name "mv*" \) -maxdepth 1 -exec mv "{}" /home/username/foder \;

Endret av Kagee
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...