, если порядок сортировки вывода несущественен, это выглядит как задание для join
join -1 3 -2 1 -t, -o 1.1,1.2,1.3,1.4,2.3,2.4,2.5 <(sort -k3,3 -t, file1) \
<(sort -k1,1 -t, file2)
6688249-7,03/02/2017,5515,02-feb-17,06-02-2017 04:25:47 PM,ASIG,ELIZABETH PRIETO
6688249-7,03/02/2017,5515,02-feb-17,06-02-2017 04:56:32 PM,URR,ELIZABETH PRIETO
16914917-8,03/02/2017,5521,02-feb-17,06-02-2017 12:51:04 PM,ASIGN,SOLANGE
16914917-8,03/02/2017,5521,02-feb-17,27-02-2017 04:32:11 PM,Ex,SOLANGE
Входные данные для join
должны быть отсортированы по ключу соединения, в приведенном выше примере используется подстановка процесса (поддерживается оболочками, такими как bash
), чтобы добиться этого
Вы можете использовать ...
echo password | sudo -S recover.sh
Пароль является вашим паролем sudo.
Из sudo manpage ..
-S, --stdin Записать подсказку к стандартной ошибке и прочитать пароль со стандартного ввода вместо использования терминального устройства.
Второй метод -
sudo -S <<< password apt-get install pkg_name
Если вы не хотите вводить пароль вручную, используйте параметр -A
в sudo
-A, --askpass Обычно, если sudo требует пароль, он считывает его с терминала пользователя . Если указана опция -A (askpass), выполняется вспомогательная программа (возможно, graphi - cal) для чтения пароля пользователя и вывода пароля на стандартный вывод. Если установлена переменная среды SUDO_ASKPASS , она указывает путь к вспомогательной программе.
Как им пользоваться?
создайте файл, который будет содержать ваш пароль (в незашифрованном виде):
cat .pass
#! / Bin / bash
эхо-пароль
Теперь установите разрешения на выполнение только вами:
chmod u = x, go = .pass
теперь фактическое использование
SUDO_ASKPASS = "~ / .pass" sudo -A
Таким образом, вы можете запускать любую команду от имени root без ввода пароля
Я бы не рекомендовал вам хранить свой пароль на вашем компьютере не зашифрован, это очень небезопасно.