Используя awk
:
awk -F':' '/^123@example.com/ {$2="NEWPASSWORDHERE"}1' OFS=':' infile
123@example.com:NEWPASSWORDHERE:::
abc@example.com:{SHA512-CRYPT}$6$0vthg.LubtSCxRRK$MdTKNQ2Vk8ZW3XQXNXStt9rfr6fNaXqPvZ0o9WJ8mW8y9ozE1pi8dYM8oQzwWa8ESGzEmJO6yT/tgi3ZEqAiE0:::
я использовал awk
с опцией -F
для установки двоеточия(:
) в качестве разделителя полей и если строка start(^
) с 123@example.com
, то замените столбец2($2
) на новое значение(NEWPASSWODHERE
).
OFS=':'
Меняет разделитель выходных полей с space(по умолчанию) на colon(:
).
1
на конце, по умолчанию, включает печать.
MANPAGE LVMCACHE (7) Описывает, как вы можете удалить пул кэша без удаления громкости происхождения:
Удаление бассейна кеша без удаления его связанного происхождения LV
Это пишет назад данные из бассейна кэша до происхождения LV, когда необходимо, а затем удаляет бассейн кеша LV, оставляя ненужденным Происхождение LV.
lvremove vg / cacheepoollv
Пример:
# LVS VG Lv vg attr attr lsize lights CACHE0 VG CWI --- C --- 10.00G lvol0 vg cwi-a-c --- 100,00 г cache0 [lvol0_corig] # lvremove vg / cache0 # LVS VG. Lv vg attr attr lsize lights lvol0 vg -wi-a ------ 100,00 г
Так что в моем случае я бы сделал lvremove anson-ta75mh2 / lv_cache
. Это несессирует воссоздание бассейна кэша с нуля, но это нормально, просто немного надоеду. (Я планирую сделать это в течение следующих нескольких минут, если никто не будет ничего лучше.)
(CMD)
выполняет CMD
в подпункте. Я CMD
не может повлиять на окружающую среду основной оболочки. Запустить
cd /userdir
вместо этого. Но текущий рабочий каталог не влияет на использование GPG
, потому что он ожидает, что его каталог конфигурации ~ / .gnupg
.
Ваш ~
, кажется, устанавливается на /
, который довольно странно. Вы можете либо установить Home
в начале скрипта
export HOME="/userdir"
или установить каталог для GPG
только:
export GNUPGHOME="/userdir"
Это мой последний скрипт GPG-агент, указывающую дом (опция --homedir)
#!/bin/sh
export HOME="/userdir"
export GNUPGHOME="/userdir/.gnupg"
funct()
{
pkill gpg-agent
rm ~/.gnupg/S.gpg-agent
mknod -m 700 ~/.gnupg/S.gpg-agent p
eval $(gpg-agent --daemon --allow-preset-passphrase --homedir="$(pwd)")
echo RELOADAGENT | gpg-connect-agent
echo XXX|/usr/libexec/gpg-preset-passphrase --preset XXXXXXXXXXXXXXXX
#script update repo http
/usr/local/bin/gen_repos_files.sh -l /tmp/emptylog -v
find /var/repo/ -type f |xargs chmod 644 -v
}
cd /userdir
while inotifywait -o /dev/null -qqre modify /var/repo; do cd /userdir && funct; done