renommer filterf en ff
This commit is contained in:
		
							parent
							
								
									88e6b9b92f
								
							
						
					
					
						commit
						28487e0240
					
				| @ -12,13 +12,26 @@ function filter_arg() { | ||||
|         fi | ||||
|     done | ||||
| } | ||||
| function filter_broken() { | ||||
|     local inverse="$1"; shift | ||||
|     while read arg; do | ||||
|         [ -L "$arg" ] || continue | ||||
|         if [ "$inverse" == 0 ]; then | ||||
|             [ -e "$arg" ] || echo "$arg" | ||||
|         else | ||||
|             [ -e "$arg" ] && echo "$arg" | ||||
|         fi | ||||
|     done | ||||
| } | ||||
| 
 | ||||
| chdir= | ||||
| lsdirs= | ||||
| lsfiles= | ||||
| lsnames= | ||||
| dir= | ||||
| file= | ||||
| link= | ||||
| broken= | ||||
| exists= | ||||
| nonzero= | ||||
| inverse=0 | ||||
| @ -28,9 +41,11 @@ args=( | ||||
|     -C:,--chdir chdir= "changer le répertoire courant avant de lister les fichiers" | ||||
|     --lsdirs . "n'afficher que les répertoires du répertoire courant" | ||||
|     --lsfiles . "n'afficher que les fichiers du répertoire courant" | ||||
|     --lsnames . "n'afficher que les noms de fichier" | ||||
|     -d,--dir . "garder uniquement les répertoires" | ||||
|     -f,--file . "garder uniquement les fichiers" | ||||
|     -L,--link . "garder uniquement les liens symboliques" | ||||
|     -b,--broken . "garder uniquement les liens symboliques cassés" | ||||
|     -e,--exists . "garder uniquement les fichiers/répertoires qui existent" | ||||
|     -s,--nonzero . "garder uniquement les fichiers ayant une taille non nulle" | ||||
|     -n,--inverse inverse=1 "inverser le sens du filtre" | ||||
| @ -43,16 +58,19 @@ fi | ||||
| 
 | ||||
| if in_isatty; then | ||||
|     # lister les fichiers | ||||
|     [ -n "$lsdirs" -o -n "$lsfiles" ] || { | ||||
|         lsdirs=1 | ||||
|         lsfiles=1 | ||||
|     } | ||||
|     setx cwd=pwd | ||||
|     [ -n "$lsnames" ] && withpath= || withpath=1 | ||||
|     if [ -n "$lsdirs" -a -n "$lsfiles" ]; then | ||||
|         cmd="{ $(qvals ls_dirs . "$@"); $(qvals ls_files . "$@"); }" | ||||
|         cmd="{ | ||||
| $(qvals ls_dirs ${withpath:+-p} "$cwd" "$@") | ||||
| $(qvals ls_files ${withpath:+-p} "$cwd" "$@") | ||||
| }" | ||||
|     elif [ -n "$lsdirs" ]; then | ||||
|         cmd="$(qvals ls_dirs . "$@")" | ||||
|         cmd="$(qvals ls_dirs ${withpath:+-p} "$cwd" "$@")" | ||||
|     elif [ -n "$lsfiles" ]; then | ||||
|         cmd="$(qvals ls_files . "$@")" | ||||
|         cmd="$(qvals ls_files ${withpath:+-p} "$cwd" "$@")" | ||||
|     else | ||||
|         cmd="$(qvals ls_all ${withpath:+-p} "$cwd" "$@")" | ||||
|     fi | ||||
| else | ||||
|     cmd="cat" | ||||
| @ -61,6 +79,7 @@ fi | ||||
| [ -n "$dir" ] && cmd="$cmd | filter_arg $inverse -d" | ||||
| [ -n "$file" ] && cmd="$cmd | filter_arg $inverse -f" | ||||
| [ -n "$link" ] && cmd="$cmd | filter_arg $inverse -L" | ||||
| [ -n "$broken" ] && cmd="$cmd | filter_broken $inverse" | ||||
| [ -n "$exists" ] && cmd="$cmd | filter_arg $inverse -e" | ||||
| [ -n "$nonzero" ] && cmd="$cmd | filter_arg $inverse -s" | ||||
| eval "$cmd" | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user