From 60052659b98832c78c902e4f27ecee2663d8e913 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Wed, 6 May 2026 08:30:49 +0200 Subject: Added scripts --- scripts/virename | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 scripts/virename (limited to 'scripts/virename') diff --git a/scripts/virename b/scripts/virename new file mode 100755 index 0000000..8c30ccf --- /dev/null +++ b/scripts/virename @@ -0,0 +1,25 @@ +#!/bin/sh + +# Rename all files in the current directory with a visual editor. +# Similar to sel add all && sel mv, but it actually works. + +file=$(mktemp) +file2=$(mktemp) +editor=${EDITOR:-vi} + +ls | tee "$file" > "$file2" +$editor "$file2" + +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 -r f; do + fold=$(echo "$f" | sed 's/ .*//') + fnew=$(echo "$f" | sed 's/.* //') + if [ "$fold" != "$fnew" ]; then + mv "$fold" "$fnew" \ + || echo "Error renaming $fold to $fnew" + fi + done +fi -- cgit v1.3