Найти и заменить слово во всех файлах на основе шаблона файла

Потому что процесс, который умирает (предположительно аварийно) вскоре после запуска, сломан и должен быть исправлен. Тратить ресурсы на это бессмысленно (и процесс сбоя может нанести ущерб, например, оставить поврежденные файлы).

1
19.10.2018, 16:47
2 ответа

Эта sedстрока будет искать документы, содержащие «неизвестно», и заменять его на «sys _user»:

sed -i 's/"unknown"/"sys_user"/g' *.txt

Чтобы изменить все строки, оканчивающиеся на-73098:

Если x является числом:

sed 's/[0-9]-73098/"sys_user"/g'  *.txt

Если x — строчная буква:

sed 's/[a-z]-73098/"sys_user"/g'  *.txt

Если x — заглавная буква:

sed 's/[A-Z]-73098/"sys_user"/g'  *.txt

Если x заглавная или строчная буква или число:

sed -i 's/[a-zA-Z0-9]-73098/User: "sys_user"/g' *.txt
0
28.01.2020, 00:24

Попробуйте

for FN in astro*.txt; do sed -r 's/(User: ")x-[[:digit:]]*"/\1sys_user"/' "$FN" > /tmp/TMP$$; mv /tmp/TMP$$ "$FN"; done
0
28.01.2020, 00:24

Теги

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