My build of nnn with minor changes
Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- #!/usr/bin/env sh
-
- # Description: Splits the file passed as argument or joins selection
- #
- # Note: Adds numeric suffix to split files
- # Adds '.out suffix to the first file to be joined and saves as output file for join
- #
- # Shell: POSIX compliant
- # Authors: Arun Prakash Jana, ath3
-
- selection=${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection}
- resp=s
-
- if [ -s "$selection" ]; then
- printf "press 's' (split current file) or 'j' (join selection): "
- read -r resp
- fi
-
- if [ "$resp" = "j" ]; then
- if [ -s "$selection" ]; then
- arr=$(tr '\0' '\n' < "$selection")
- if [ "$(echo "$arr" | wc -l)" -lt 2 ]; then
- echo "joining needs at least 2 files"
- exit
- fi
- for entry in $arr
- do
- if [ -d "$entry" ]; then
- echo "cant join directories"
- exit
- fi
- done
-
- file="$(basename "$(echo "$arr" | sed -n '1p' | sed -e 's/[0-9][0-9]$//')")"
- sort -z < "$selection" | xargs -0 -I{} cat {} > "${file}.out"
- fi
- elif [ "$resp" = "s" ]; then
- if [ -n "$1" ] && [ -f "$1" ]; then
- # a single file is passed
- printf "split size in MB: "
- read -r size
-
- if [ -n "$size" ]; then
- split -d -b "$size"M "$1" "$1"
- fi
- fi
- fi
|