LINUX.ORG.RU

Удалить символы от @ до : включая @

 , , , ,


0

1

Имеется база сотрудников, нужно выловить ихние логины и пароли в нужном мне формате, просто кроме бекапа прошлого админа ничего кроме мыло:пароль не осталось...

например:

anna@kadri.ru:passssss

oleg@buh.ru:passsss

и тд, отделов много, база большая, ни чего не могу придумать

результат должен быть такой

anna:passssss

oleg:passsss



Последнее исправление: zamunyk (всего исправлений: 4)

$ cat pass                  
anna@kadri.ru:passssss
oleg@buh.ru:passsss
$ sed 's/@[^:]*:/:/' pass
anna:passssss
oleg:passsss

*пароли в открытом виде*

Не зря от админа избавились.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Не зря от админа избавились.

Судя по вопросу ТС, - нашли не лучше.

anonymous
()
Ответ на: комментарий от gadfly

for i in `cat test`

Ошибка номер один при написании программ на языке оболочки.

Zmicier ★★★★★
()
Ответ на: комментарий от redgremlin

Тогда уж

Ну тогда уж и у echo «arg» надо в кавычках. Но можно и на минимальном современном sh без башизмов:

while read i ; do echo "${i%%@*}:${i#*:}"; done < test

vodz ★★★★★
()
Ответ на: комментарий от vodz

современном sh

Современный sh называется bash

без башизмов

Нет никаких башизмов. Есть общепринятый стандарт и некоторое количество маргинальных никому не нужных sh без поддержки этого стандарта.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Есть общепринятый стандарт и некоторое количество маргинальных никому не нужных sh без поддержки этого стандарта.

Люблю вот таких. Это мне приносит денег за работу. В моём домашнем, а возможно и в вашем рутере и телефоне и планшете никакого bash нет. А в моём продакшене bash поставить можно, но это зачастую дольше, чем сделать конкретную работу на площадке, где потом ещё полгода коннектится чтобы что-то чинить не буду.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от shdown

Тогда уж…

Да ну нафиг, что за глупость.

vodz ★★★★★
()
Ответ на: комментарий от redgremlin

Нет никаких башизмов. Есть общепринятый стандарт и некоторое количество маргинальных никому не нужных sh без поддержки этого стандарта.

Церковь свидетелей переносимых скриптов тебя анафемизирует.

ashot ★★★★
()
Ответ на: комментарий от vodz

В моём домашнем, а возможно и в вашем рутере и телефоне и планшете никакого bash нет.

А ещё на микроволновке его нет. А ТС вообще на тостере этот скрипт запускать собрался.

ashot ★★★★
()
Ответ на: комментарий от vodz

А это значит, что задача по парсингу файла с логинами-паролями на микроволновке вряд ли возникнет. А если и возникнет, то наличие нужного шелла будет не главной проблемой. И поэтому лучше использовать полноценный, некастрированный инструмент для решения конкретной задачи на целевой системе.

ashot ★★★★
()
Ответ на: комментарий от ashot

А это значит, что задача по парсингу файла с логинами-паролями на микроволновке вряд ли возникнет.

Ну а чё, нормальненько, сами микроволновку притащили и сами спорите сами с собой.

И поэтому лучше использовать полноценный, некастрированный инструмент для решения конкретной задачи на целевой системе.

Я бы это задачу в своём редакторе решил, делов то, записать макрос: найти до @, начать блок, найти до : удалить блок. Зачем здесь об этом написано не очень понимаю. База с миллиардами логинов? Ну тогда на bash-е заколебётесь ждать. Вполне возможно автор понял, что это можно запрограммить, но где-то запутался и переоценил пустяковость и свои познания.

А вообще, если не заметили, ответ был не ТСу, а комментатору c «ну тогда уж». С явной ошибкой, так как в «пароле» запросто могут быть спецсимволы. А перевод на стандартный sh был мимоходом, с пояснением, что предложено не на говне мамонта, а на вполне распространенных вариантах shell-ов.

Так что ваши наезды не по делу так как совершенно беспочвенны.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 2)
Ответ на: комментарий от vodz

А перевод на стандартный sh был мимоходом

Я это от вас, уважаемый, постоянно на лоре вижу. Так бы прошёл мимо.

В какой-то из тем вы прямо раздавали советы не изучать гну/баш, а ограничивать себя посиксами ради мифической переносимости.

Так что ваши наезды не по делу

Сударь, попросил бы вас не выражаться.

ashot ★★★★
()
Ответ на: комментарий от ashot

Я это от вас, уважаемый, постоянно на лоре вижу.

Вы еще скажите, что термин «башизм» я придумал.

В какой-то из тем вы прямо раздавали советы не изучать гну/баш, а ограничивать себя посиксами ради мифической переносимости.

Я припоминаю. Там скорее было сказано, что надо надо знать где именно башизмы, не употреблять их когда это ничем особым неоправдано, чтобы не вошло в привычку, которая вас подвести, если понадобиться поадминить хост без bash-а.

Сударь, попросил бы вас не выражаться.

Завуалированное хамство гораздо отвратительнее.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.