Объединение входных данных по моей команде

Команда touchсоздаст только файл, но не создаст вложенную структуру каталогов. Для этого вы можете сначала использовать mkdir -p, а затем выполнить команду touch. Вы можете делать их вместе вот так:

 $ mkdir -p dir1/dir2/dir3 && touch dir1/dir2/dir3/file.txt

Имейте в виду, что эта структура каталогов будет создана, начиная с любого каталога, в котором вы находитесь. Чтобы узнать это, используйте команду pwd.

0
25.06.2021, 13:18
1 ответ

Просто переберите строку. Я также убрал ваши grepи echoза ненадобностью:

#!/bin/bash
read -p "Enter a string:" -r string

for((i=0; i<${#string};i++)); do
  a=$(awk -v s="${string:$i:1}" '$1==s{print $2}' ~/Desktop/letter-table)
  perl -e 'printf "%b\n", $ARGV[0]' "$a"
done

Или, лучше, принять строку в качестве аргумента:

#!/bin/bash
string="$*"

for((i=0; i<${#string};i++)); do
  a=$(awk -v s="${string:$i:1}" '$1==s{print $2}' ~/Desktop/letter-table)
  perl -e 'printf "%b\n", $ARGV[0]' "$a"
done

И запустите скрипт следующим образом:

$ foo.sh apple
1111001
10010001
10010001
1111001
10111010
0
28.07.2021, 11:22

Теги

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