поиск по шаблону и замена значения в файле

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

Итак, вам нужно жестко запрограммировать пароль в вашем скрипте. Вы можете указать пароль для pscp с его параметром -pw . Но я не знаю, насколько это безопасно (по крайней мере, в Linux все пользователи обычно могут видеть командную строку всех процессов).

0
05.04.2018, 14:23
3 ответа

Вы можете использовать приведенную ниже команду в соответствии с вашими потребностями

sed -i s/#1520325239/$(date -d @1520325239)/g.bash_history
0
28.01.2020, 04:26

Использовать sed sed -i "/#1520325239/c$(date -d @1520325239)" test.txt

-Я изменю файл на месте. Опустите «i», чтобы сначала проверить свои результаты.

0
28.01.2020, 04:26

Если я правильно вас понял, временная метка не одна, а много одинаковых строк. Этот скрипт должен сделать замену, которую вы хотите:

#!/bin/bash

# get timestamps from the file
dates=`sed -e '1,$s/^.*#\(.*\) \/.*/\1/' /tmp/test.txt`

for date in $dates
do
    # get human readable format from timestamp
    newdate=`date -d @${date}`
    # replace timestamp with human readable date
    sed -i "1,\$s/\#$date/$newdate/" /tmp/test.txt
done
0
28.01.2020, 04:26

Теги

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