Версия ядра безопасности Debian?

вы можете использовать awk для синтаксического анализа usernames.csv (где поля 2 и 4 разные) и создания файла sed.

 tr -d \" username.csv |
 awk -F\; '$2 != $4 { printf "s/^(.*ri:username=%c)%s(%c.*)$/\\1%s\\2/g\n",34,$2,34,$4 ; }' |
 sed -i -f - confluence/entities_converted.xml

какой-то трюк

  • используйте printf "..% c ..", 34 для генерации кавычек.
  • вы можете пропустить строку sed в части отладки, чтобы убедиться, что все инструкции sed сгенерированы правильно.
  • вам нужен / g для замены?

в моем тестовом файле

;foo;;foo;;
;fubar;;mr X;;
;bar;;bistro;;
    "Full name";"Username";"Email";"New username"
    "Sune Mølgaard";"sune.molgaard";"foo@bar.baz";"smo"

this generate

s/^(.*ri:username=")fubar(".*)$/\1mr X\2/g
s/^(.*ri:username=")bar(".*)$/\1bistro\2/g
s/^(.*ri:username=")Username(".*)$/\1New username\2/g
s/^(.*ri:username=")sune.molgaard(".*)$/\1smo\2/g

не пытайтесь удалить строку имени пользователя, если она не найдена, замены нет.

0
09.01.2018, 13:17
0 ответов

Теги

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