текст замены в файле

У вас может быть действующий билет, но у вас, скорее всего, у вас нет действительных токенов AFS. Попробуйте запустить Aklog , чтобы получить токены из существующих кэшированных учетных данных. Проверьте вывод токенов , чтобы увидеть, если у вас есть действительные токены. Убедитесь, что с вашим Креревом, который вы запускаете Aklog (который просто дополнительный параметр к Крересу).

-1
18.02.2015, 17:22
1 ответ

Как указал @Costas, вы используете шаблоны глобубса, тогда как SED использует BRE регулярные выражения (или eRE, если использование SED ] 's -R вариант).

Ваша команда должна напоминать что-то вроде этого:

sed -i -r 's/-[0-9]+x[0-9]+\.jpg/.jpg/g' myfile.sql

Объяснение:

  • [0-9] означает «любое число» (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  • + означает «один Или более предыдущего атома "(требуется коммутатор -R -R + + только имеет особое значение в ERES)

Pattern - [0-9] + x [0-9] + \. jpg Следовательно, означает: «буквальный - , за которым следует одно или несколько чисел, за которым следует буквальный x , за которым следует один или Подробнее, за которыми следует буквальный . (обратная косая черта важно, потому что . . - это особый символ в RES), за которым следует буквальный JPG .

Редактировать:

При разъяснение, это должно делать то, что вы хотите:

sed -i -r -e 's/-[0-9]+x[0-9]+\.jpg/.jpg/g' -e 's/width="[0-9]+" *height="[0-9]+"/width="217" height="317"/' myfile.sql

добавленная картина ширина = «[0-9] +« * высота = »[0-9] +« опирается на Те же принципы, как сказали выше, и заменяет его с жесткой кодированной строкой шириной = «217» высота = «317» .

.

1
28.01.2020, 05:11

Теги

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