commit 3ae50860f445752ba20751835b332d21ae2d2cb9
parent b88e387692f87ccb3a2b6c56d2f4aa4cbf9e9917
Author: Sebastiano Tronto <sebastiano.tronto@gmail.com>
Date: Sat, 15 Jan 2022 09:57:11 +0100
Restyle and added error detection in number of files when copying or moving.
Diffstat:
M | sel | | | 77 | +++++++++++++++++++++++++++++++++++++++++++++-------------------------------- |
1 file changed, 45 insertions(+), 32 deletions(-)
diff --git a/sel b/sel
@@ -23,6 +23,33 @@ menu=${MENU:-dmenu}
editor=${EDITOR:-vi}
rm=trashrm # replace with rm -r if you don't use trashrm
+add() {
+ if [ -z "$2" ]; then
+ dmenu-filepicker >> "$file"
+ else
+ case "$2" in
+ files)
+ ls | while read f; do
+ [ -f "$f" ] && echo "$PWD/$f" >> "$file"
+ done
+ ;;
+ dirs)
+ ls | while read f; do
+ [ -d "$f" ] && echo "$PWD/$f" >> "$file"
+ done
+ ;;
+ all)
+ ls | while read f; do
+ echo "$PWD/$f" >> "$file"
+ done
+ ;;
+ *)
+ echo "$2: not a valid option"
+ ;;
+ esac
+ fi
+}
+
clear() {
cat /dev/null > "$file"
}
@@ -31,11 +58,22 @@ cphere() {
file2=$(mktemp)
sed 's/^.*\///' "$file" > "$file2"
$editor "$file2"
- paste "$file" "$file2" | while read f; do
- fold=$(echo "$f" | sed 's/\t.*//')
- fnew=$(echo "$f" | sed 's/.*\t//')
- cp -R "$fold" ./"$fnew"
- done
+ if [ "$(wc -l $file | awk '{print $1}')" != \
+ "$(wc -l $file2 | awk '{print $1}')" ]; then
+ echo "Error reading new file names"
+ else
+ paste "$file" "$file2" | while read f; do
+ fold=$(echo "$f" | sed 's/\t.*//')
+ fnew=$(echo "$f" | sed 's/.*\t//')
+ cp -R "$fold" ./"$fnew"
+ done
+ fi
+}
+
+open() {
+ while read f; do
+ open-file "$f"
+ done < "$file"
}
remove() {
@@ -49,30 +87,7 @@ if [ -z "$1" ]; then
else
case "$1" in
add)
- if [ -z "$2" ]; then
- dmenu-filepicker >> "$file"
- else
- case "$2" in
- files)
- ls | while read f; do
- [ -f "$f" ] && echo "$PWD/$f" >> "$file"
- done
- ;;
- dirs)
- ls | while read f; do
- [ -d "$f" ] && echo "$PWD/$f" >> "$file"
- done
- ;;
- all)
- ls | while read f; do
- echo "$PWD/$f" >> "$file"
- done
- ;;
- *)
- echo "$2: not a valid option"
- ;;
- esac
- fi
+ add $@
sort -u -o "$file" "$file"
;;
clear)
@@ -91,9 +106,7 @@ case "$1" in
clear
;;
open)
- while read f; do
- open-file "$f"
- done < "$file"
+ open
;;
rm)
remove