Предположим, что в адресах электронной почты нет символов двоеточия. Для кучи файлов назовем их files*.txt:
cat files*.txt | sed -e 's/[^:]*://' > all-passwords.txt
Должно это сделать.
cat files*.txt - печатает все строки в STDOUT sed -e 's/[^:]*://' - заменяет все до первого ':' в строке «ничего» > all-passwords.txt - создайте / перезапишите файл с именем all-passwords.txt >> all-passwords.txt - если вы должны использовать [ f7], он будет создавать или добавлять к файлу, а не перезаписывать его.Примечания:
cat files*.txt - печатает все строки в STDOUTТак много всего, на что можно обратить внимание, но при условии, что ваш первоначальный вопрос заключается в сохранении вывода команды в качестве переменной.
Чтобы сохранить вывод (STDOUT) некоторых команды или конвейера в качестве переменной, вам нужно использовать подстановку команд ($()):
pass=$(head /dev/urandom | tr -dc 'A-Za-z0-9\!\"#$\@\&\%\?' | head -c "$length")
Я сделал два изменения:
вам не нужно быть [ f4], чтобы прочитать файл /dev/urandom, поэтому я уронил sudo, всегда добавляя расширения переменных (если вы не знаете, что делаете); Я цитировал $lengthКроме того, read может отображать строку приглашения (см. Опцию -p), вам не нужно использовать echo:
read -p 'How many characters?' length
Так много всего, на что можно обратить внимание, но при условии, что ваш первоначальный вопрос заключается в сохранении вывода команды в качестве переменной.
Чтобы сохранить вывод (STDOUT) некоторых команды или конвейера в качестве переменной, вам нужно использовать подстановку команд ($()):
pass=$(head /dev/urandom | tr -dc 'A-Za-z0-9\!\"#$\@\&\%\?' | head -c "$length")
Я сделал два изменения:
вам не нужно быть root, чтобы прочитать файл /dev/urandom, поэтому я уронил sudo, всегда добавляя расширения переменных (если вы не знаете, что делаете); Я цитировал $lengthКроме того, read может отображать строку приглашения (см. Опцию -p), вам не нужно использовать echo:
read -p 'How many characters?' length
Так много всего, на что можно обратить внимание, но при условии, что ваш первоначальный вопрос заключается в сохранении вывода команды в качестве переменной.
Чтобы сохранить вывод (STDOUT) некоторых команды или конвейера в качестве переменной, вам нужно использовать подстановку команд ($()):
pass=$(head /dev/urandom | tr -dc 'A-Za-z0-9\!\"#$\@\&\%\?' | head -c "$length")
Я сделал два изменения:
вам не нужно быть root, чтобы прочитать файл /dev/urandom, поэтому я уронил sudo, всегда добавляя расширения переменных (если вы не знаете, что делаете); Я цитировал $lengthКроме того, read может отображать строку приглашения (см. Опцию -p), вам не нужно использовать echo:
read -p 'How many characters?' length
Так много всего, на что можно обратить внимание, но при условии, что ваш первоначальный вопрос заключается в сохранении вывода команды в качестве переменной.
Чтобы сохранить вывод (STDOUT) некоторых команды или конвейера в качестве переменной, вам нужно использовать подстановку команд ($()):
pass=$(head /dev/urandom | tr -dc 'A-Za-z0-9\!\"#$\@\&\%\?' | head -c "$length")
Я сделал два изменения:
вам не нужно быть root, чтобы прочитать файл /dev/urandom, поэтому я уронил sudo, всегда добавляя расширения переменных (если вы не знаете, что делаете); Я цитировал $lengthКроме того, read может отображать строку приглашения (см. Опцию -p), вам не нужно использовать echo:
read -p 'How many characters?' length