From cb70dc7cdc10566e821b1100b04e6423b756fd8c Mon Sep 17 00:00:00 2001 From: Dict Xiong Date: Wed, 6 May 2026 12:19:26 +0800 Subject: [PATCH] feat: sne: search and edit --- scripts/sne | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 scripts/sne diff --git a/scripts/sne b/scripts/sne new file mode 100755 index 0000000..b216abe --- /dev/null +++ b/scripts/sne @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +if [ "$#" -eq 0 ]; then + echo "usage: sne " + echo "example: sne config.yaml" + exit 1 +fi + +SEARCH_PATTERN="$1" +files=() +while IFS= read -r -d $'\0' file; do + files+=("$file") +done < <(fd "$SEARCH_PATTERN" --type f --print0) +file_count=${#files[@]} +if [ "$file_count" -eq 0 ]; then + echo "no file match '$SEARCH_PATTERN'" + exit 0 +fi +echo "🔎 found $file_count files:" +for file in "${files[@]}"; do + echo " 📄 $file" +done +echo "----------------------------------------" + +read -r -p "edit? [Y/n] " response +response=${response:-Y} +if [[ "$response" =~ ^[Yy]$ ]]; then + vim "${files[@]}" +else + echo "❌ aborted" +fi