Удалить запятую из определенной части длинной строки

let split

printf fmt, "stab_site" user[i]
  • "stab_site" user[i] сделает stab_sitenakr, так как после site нет пробела
  • printf fmt, "stab_site" user[i] получается
  • print "%-4s\n" , stab_sitenakr который печатает выровненный по левому краю stab_sitenakr

возможно вы ищете

printf fmt, "stab_site " user[i]

или (по просьбе OP)

printf " %s %s\n", "stab_site", user[i]
5
10.10.2018, 19:13
4 ответа

Perl-витрина:

perl -pe "1 while s/'.*\K,(?=.*')/ /" input.txt

Выход:

Insert into PE_ATRT_S(ID_ANA_TX,FQ_WQ_ASDF,ID_PRTY,NM_ATHY_TX,SC_RND,QU_DGT_RND) values (99990987868959,null,68,'T59 - % Dsc Itm-2 tax 1 Juris',4,5);

Масштабированный вывод:

(99990987868959,null,68,'T59 - % Dsc Itm-2 tax 1 Juris',4,5);
0
27.01.2020, 20:35
awk -F\' -vOFS=\' '{gsub(","," ",$2); print}'
6
27.01.2020, 20:35

Альтернативное решение сgnu sed:

sed -r 's/(\x27.*),(.*\x27)/\1 \2/g' file

\x27:ascii-код одинарной кавычки'

3
27.01.2020, 20:35
 perl -pe "s/.*'\K(.*?)(?=')/\$1 =~ y|,| |r/e"
  • Перейти к последней паре одинарных кавычек с помощью жадного регулярного выражения.*
  • Затем выберите содержимое между одинарными кавычками и преобразуйте все запятые в пробелы.
0
27.01.2020, 20:35

Теги

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