Bash, увеличивающий строку удара - от текстового файла

Я изо всех сил пытаюсь получить часть своей работы кода. У меня есть база данных с именами пользователей в нем, и сценарий автоматически выбирает следующее доступное имя пользователя. Например, вход JoeBlogs но JoeBlogs уже взят так JoeBlogs1 используется, затем JoeBlogs2 и т.д. База данных содержит список используемых имен пользователей, таким образом, я пытаюсь заставить это помещать следующее число availible после имени.

testdb=`cat test.db`
cd "$(dirname "$0")"
ftpfullname="JoeBlogs"
for output in $testdb
do
    if [ "$ftpfullname" == "$output" ]
    then
        ftpfullname="${ftpfullname}1"
    fi
done
echo "$ftpfullname has been selected"

test.db очень просто, просто набор имен, сохраненных на их собственной строке.

Я понимаю, почему это не работает, я просто не могу разработать, как сделать это.

0
задан 2 February 2018 в 10:09

1 ответ

accountsdb=`cat test.db | sort`
namex="0"
nameplus=0
ftpfullname="turner"
for output in $accountsdb
do
  if [ "$ftpfullname" == "$output" ]
  then
    let "nameplus += 1"
    for i in $nameplus
    do
      echo "$nameplus"
      echo "$i"
      if [ "$namex" == "1" ]
      then
        ftpfullname=${ftpfullname%?}
      fi
      namex="1"
      ftpfullname="${ftpfullname}${i}"
      break
    done
  fi
done
echo "$ftpfullname"
echo $namex
echo "$ftpfullname" >> test.db
0
ответ дан 31 October 2019 в 02:26

Другие вопросы по тегам:

Похожие вопросы: