Проблема с передачей символа новой строки `\n `в команду curl

Awkраствор:

awk '{ for (i=1; i<=NF; i++) a[i] = (NR > 1? a[i] : "") $i; }
     END{ 
         for (i in a) if (a[i] ~ /(0.*1|1.*0)/) c++;
         print c 
     }' file

Выход:

3
0
20.09.2020, 07:29
1 ответ

echo 'https://user1:118f32aa48601c10e107f5@portal.myshopb.com:9043/job/Scanner/buildWithParameters?SERVER_IP='${SERVER_IP}'&USER=root&REPORT_NAME=ihs_run' -H "Jenkins-Crumb:8c6f641ab7b9d1e7839c17a2be844490f2c88c5f9ae90c5ae5d52d7eae1" | sed ':a;N;$!ba;s/\n/\\n/g' | xargs curl -k -X POST

Эта ссылка дает хорошее объяснение команды sed, используемой в этом примере. Я просто добавил \\n, чтобы соответствовать тому, что, по моему мнению, вы хотели получить в результате. Очищенная версия URL-адреса затем передается xargs, который создаст и выполнит командную строку из стандартного ввода.

В качестве примера ниже будет создан каталог с именем один, вложенный в каталог два.

echo 'one/two' | xargs mkdir -pаналогично ->mkdir -p one/two

Надеюсь, понятно. Рад, что это помогло вам.

1
18.03.2021, 23:04

Теги

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