Заменить строку многострочным файловым содержимым

Это определенно возможно, потому что индикаторы сделаны кросс-платформенными.

Похоже, кто-то разработал апплет панели xfce, чтобы обеспечить эту функциональность: http: //goodies.xfce. org / projects / panel-plugins / xfce4-indicator-plugin

Кажется не очень зрелым - его в версии 0.0.1, который является первой стабильной версией. Он не упакован, но доступен как исходный код.

1
задан 30 March 2015 в 16:52

3 ответа

Если вы хотите придерживаться bash, выберите символ, который не отображается ни в вашей строке, ни в вашем файле, скажем, @; то:

SALT=`< salt.txt tr '\n' '@'`
sed "s/SALT/$SALT/" wp-config.php | tr '@' '\n' > result.txt

Таким образом, перед заменой newline символы в вашей строке будут изменены на @, а после замены символы @ будут изменены на newlines, так что SALT больше не рассматривается как массив, а как переменная, содержащая длинную строку.

1
ответ дан 23 May 2018 в 21:55

Вы можете сделать это:

sed -e "/SALT/{r salt.txt" -e "d}" wp-config.php  > result.txt

Если salt.txt является солью, wp-config.php является входным файлом, а SALT является строкой для замены

1
ответ дан 23 May 2018 в 21:55
  • 1
    Это заменит целую строку содержимым файла salt.txt , если в нем есть SALT, а не SALT само слово !! – αғsнιη 30 March 2015 в 16:49
perl -e 'open my $S, "<", "salt.txt" or die $!;
         $salt = do { local $/ ; <$S> };
         s/SALT/$salt/, print while <>;
        ' wp-config.php > result.txt

Первая строка открывает salt.txt. Вторая строка считывает содержимое в переменную $ salt. Третий принимает аргументы командной строки как имена файлов, читает файлы по строкам и заменяет строку.

0
ответ дан 23 May 2018 в 21:55

Другие вопросы по тегам:

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