Advertisement
Guest User

Untitled

a guest
Aug 11th, 2023
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.65 KB | None | 0 0
  1. #!/usr/bin/env bash
  2. set -o errexit
  3. set -o nounset
  4.  
  5. search_string_file=${1:?'Missing argument: "search_string_file".'}
  6.  
  7. lines=()
  8. if ! mapfile -t lines < "${search_string_file}"; then
  9.     exit 1
  10. fi
  11.  
  12. declare -A search
  13. for line in "${lines[@]}"; do
  14.     printf "Line: %s\n" "${line}"
  15.  
  16.     split=()
  17.     if ! readarray -d $'\t' split <<< "${line}"; then
  18.         printf "No tab delimited entry, mapfile failed.\n" >&2
  19.         continue
  20.     fi
  21.  
  22.     search["${split[0]}"]="${split[1]%$'\n'}"
  23. done
  24.  
  25. idx=0
  26. for search_name in "${!search[@]}";  do
  27.     search_string="${search[${search_name}]}"
  28.     printf "[%d] %s--%s\n" "${idx}" "${search_name}" "${search_string}"
  29.     idx=$((idx+1))
  30. done
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement