Jag försöker lära mig bash
Jag håller på och försöker förstå hur det fungerar med "batch"
jag har installerat cygwin och sitter nu och exprimenterar lite.
Om jag skriver i en editor:
du -sh * > "C:\Program Files\programfiles.txt"
Då skapas en fil med mapparna som visar deras storlek i MB,
men jag vill ha de sorterade minst till störst.
Sedan undrar jag om jag kan göra en bat fil i windows på samma sätt?
Jag har gjort en bat fil:
@echo off
dir "C:\Program Files" > C:\files.txt
Och sparade den som "listprograms.bat" och när man klickar på den
så skapas en textfil med de mappar som finns i "Program Files".
Men jag kan inte få det sorterat, har försökt med " /o-s"
Som sagt jag är helt ny på detta område och jag blandar troligtvis ihop begreppen,
men om någon vänlig själ orkar att visa mig i rätt riktning så skulle jag bli tacksam.
Bash-nybörjare -vill ha radbryt i textfil och fixa en batfil
- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: Bash-nybörjare -vill ha radbryt i textfil och fixa en ba
Flaggan h är inte bra om du vill ha dem sorterade i storleksordning eftersom du får en massa olika enheter på storleken.jlw skrev:du -sh * > "C:\Program Files\programfiles.txt"
Testa det här istället. Jag har valt enheten kilobytes och sorterar på kolumn 1 numeriskt.
Kod: Markera allt
du -sk * | sort -nk1 > fil
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Bash-nybörjare -vill ha radbryt i textfil och fixa en ba
Det där klarar sort av numera med flaggan -h istället för -n:mcNisse skrev:Flaggan h är inte bra om du vill ha dem sorterade i storleksordning eftersom du får en massa olika enheter på storleken.
Kod: Markera allt
du -sh -- * | sort -hk1
- Urban Anjar
- Inlägg: 7306
- Blev medlem: 05 nov 2006, 22:59
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Vickleby
- Kontakt:
Re: Bash-nybörjare -vill ha radbryt i textfil och fixa en ba
BAT filer i Windows och bash-script är snarlikt på ett plan; du samlar ett gäng kommandon i en fil och så kan du köra hela rasket som ett program.
Men språken är olika och jag tycker i alla fall att bash är väldigt mycket kraftfullare.
Dock finns cygwin och dessutom ett antal gnu-verktyg som kan köras i Windows och det kan rädda situationen att ha tillgång till sed eller awk exempelvis också i Windows.
Sen har ju MS släppt PowerShell, som ska vara bra mycket kraftfullare än den gamla kommandotolken, men jag må erkänna att jag inte hunnit grotta ner mig i det.
Men språken är olika och jag tycker i alla fall att bash är väldigt mycket kraftfullare.
Dock finns cygwin och dessutom ett antal gnu-verktyg som kan köras i Windows och det kan rädda situationen att ha tillgång till sed eller awk exempelvis också i Windows.
Sen har ju MS släppt PowerShell, som ska vara bra mycket kraftfullare än den gamla kommandotolken, men jag må erkänna att jag inte hunnit grotta ner mig i det.
Ubuntu från början: http://ubuntufranborjan.wordpress.com/
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#
- Urban Anjar
- Inlägg: 7306
- Blev medlem: 05 nov 2006, 22:59
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Vickleby
- Kontakt:
Re: Bash-nybörjare -vill ha radbryt i textfil och fixa en ba
Radbryt får du i Linux med \n i vissa lägen. Windows vill nog ha \r\n (tror jag). Exempel:
ger resultatet...
Kod: Markera allt
#!/bin/bash
echo -e 'en rad \nnästa rad'
Kod: Markera allt
en rad
nästa rad
Ubuntu från början: http://ubuntufranborjan.wordpress.com/
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#
Vill påminna om den här lilla filmen http://video.google.com/videoplay?docid ... 522818645#