Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 10 apr 2020, 14:58



Svara på tråd  [ 3 inlägg ] 
 Lista directories 
Författare Meddelande
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5471
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Lista directories
Ofta när man jobbar i terminalen så behöver man veta vilka directories (mappar) som finns under det man står i. Här är ett script som jag snickrat ihop för just det...
Kod:
#! /bin/bash
#
function usage {
   cat << EOD

   lsd [-a|--all] [-l|--long] [-t] [-r] [DIRECTORY]

   Options:

      -a | --all   List all directories, including those beginning with "."
      -l | --long   Long listing, including information
      -t       Sort in time-order (can only be used together with -l)
      -r      Sort in reverse order (can only be used together with -l)

EOD
}
#
#####################################################################
TEMP=`getopt -oaltr --long all,long -n $(basename $0) -- "$@"`
if [[ $? -ne 0 ]]; then
   usage
fi
eval set -- "$TEMP"
ALL=false
OPT=""
LONG=false
CMDNAME=$(basename $0)
while true; do
   case $1 in
      -a|--all)
         ALL=true
         shift
         ;;
      -l|--long)
         LONG=true
         shift
         ;;
      -t)
         OPT=$OPT" -t"
         shift
         ;;
      -r)   
         OPT=$OPT" -r"
         shift
         ;;
      --)
         shift
         break
         ;;
      *)
         echo "-Got a star..."
         shift
         ;;
   esac
done
P1=$1
P2=$2
P3=$3
P4=$4
#
echo
if [[ $LONG == true ]]; then
   if [[ -z $P1 ]]; then
      if [[ $ALL == true ]]; then
         #ls -lad --color=auto */. | sed 's=/.==g'
         ls -Al $OPT --indicator-style=none --color=auto | grep "^d"
      else
         #ls -ld --color=auto */. | sed 's=/.==g'
         ls -l $OPT --indicator-style=none --color=auto | grep "^d"
      fi
   else
      if [[ $ALL == true ]]; then
         #ls -lad --color=auto $P1/*/. | sed 's=\/\.==g'
         ls -Al $OPT --indicator-style=none --color=auto $P1 | grep "^d"
      else
         #ls -ld --color=auto $P1/*/. | sed 's=\/\.==g'
         ls -l $OPT --indicator-style=none --color=auto $P1 | grep "^d"
      fi
   fi
else
   if [[ -z $P1 ]]; then
      if [[ $ALL == true ]]; then
         find -L . -maxdepth 1 -type d | awk -F "./" '{ print $2 }' | sort | column
      else
         find -L . -maxdepth 1 -type d -name "[!.]*" | awk -F "./" '{ print $2 }' | sort | column
      fi
   else
      if [[ $ALL == true ]]; then
         find -L $P1 -maxdepth 1 -type d -not -name $P1 | sort | column
      else
         find -L $P1 -maxdepth 1 -type d -name "[!.]*" -not -name $P1 | sort | column
      fi
   fi
fi
echo

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


22 feb 2020, 12:15
Profil WWW
Serveradmin
Användarvisningsbild

Blev medlem: 22 okt 2006, 09:13
Inlägg: 3795
Ort: Svedala
OS: Ubuntu
Utgåva: 18.04 Bionic Beaver LTS
Svara med citat
Inlägg Re: Lista directories
Snygt! Men det går å andra sidan också att:
Kod:
find . -maxdepth 1 -type d


23 feb 2020, 11:50
Profil WWW
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5471
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Lista directories
johanre skrev:
Snygt! Men det går å andra sidan också att:
Kod:
find . -maxdepth 1 -type d

Jo precis och det är ju en av de varianter jag använder mig av, men det ger inte riktigt lika många möjligheter... :)

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


23 feb 2020, 17:49
Profil WWW
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 3 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 3 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011