#python #linux #bash #ubuntu #script
#питон #линукс #удар #ubuntu #скрипт
Вопрос:
привет, друзья, я новичок в терминале Linux и его командах, и мне нужна помощь, чтобы решить эту ситуацию:
у меня есть 2 файла :
cat file1: line1 line2 key= line4 cat file2: line1 line2 line3 secret: 12345 line5
что мне нужно сделать, это скопировать «12345» из file2 и вставить его перед клавишу «=» в file1 и главное, что секретное значение (в данном примере 12345) изменения в любое время и на другом сервере не 12345.как я могу сделать это с помощью sed или что-нибудь еще? спасибо за вашу помощь
Комментарии:
1. Используйте
sed
илиgrep
для захвата секрета из файла 2 и сохранения его в переменной. Используйте это для созданияsed -i
команды, с помощью которой можно обновить файл1.2. Добро пожаловать в Stack Overflow. Ожидается, что вы приложите усилия, чтобы решить проблему самостоятельно, прежде чем обратитесь к нам за помощью. Когда вы спрашиваете, как это сделать «с помощью sed или чего-либо еще», это предполагает, что либо у вас есть навыки в sed и любом другом инструменте, либо вы просто просите нас написать для вас команду, которую вы будете использовать, но не потрудитесь понять.
3. что ты пробовал? где ваш код?
4. спасибо @JohnBollinger , я сделал то, что ты сказал, и это сработало
Ответ №1:
Следующая команда должна работать в Ubuntu:
cat file2 | grep "secret:" | tail -1 | sed 's/^secret://' | xargs -I{} sed -i 's/key=.*$/key={}/' file1
Следующая команда работает на моем macOS:
cat file2 | grep "secret:" | tail -1 | sed 's/^secret://' | xargs -I{} sed -i.backup 's/key=.*$/key={}/' file1
Комментарии:
1. спасибо за ваш ответ , проблема решена с помощью @JohnBollinger