Ошибка именования файла с содержимым переменной - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь назвать файл с содержимым одной переменной, выполняя этот скрипт

#!/bin/bash
IFS=$'\n'
file=mails.txt
lines=$(cat ${file})

for line in ${lines}; do
   echo "'${line}'"
   final=echo "'$line'" |sed -e 's/^\.\*\(.*\)\*\./\1/'
   curl -XGET "https://google.es" > $final.'.txt'
   sleep 2
 done

 IFS=""
 exit ${?}

Содержимое mails.txt выглядит примерно так:

 .*john*.
 .*peter*.

И когдаЯ делаю, что у меня ошибка ./testcur.sh line 7: .john*. :order not found, то же самое с Питером. Как я могу сделать, чтобы назвать файлы john.txt и peter.txt

1 Ответ

1 голос
/ 05 октября 2019

У вас есть три ошибки

  • "'$ line'" -> "$ line"
  • final = echo -> final = $ (echo ...)
  • $ final. '. Txt' -> $ final'.txt '
#!/bin/bash
IFS=$'\n'
file=mails.txt
lines=$(cat ${file})

for line in ${lines}; do
   echo "'${line}'"
   final=$(echo "$line" | sed -e 's/^\.\*\(.*\)\*\./\1/')
   curl -XGET "https://google.es" > ${final}'.txt'                         
   sleep 2
done

IFS=""
exit ${?}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...