-1
Ввод - это несколько файлов ямлов внутри git:grep -v с perl один вкладыш
например. конфиг/CONF/хостов/ghf04.lmn/двигатель-1.yaml
ports:
ajp: 8010
http: 8011
shutdown: 8012
apps:
- null
- Michael
- Hardy
У меня есть что-то вроде этого, чтобы извлечь данные под приложения:
for j in a b
do
for i in 01 02 03 04 05 06 07 08 09 10
do
echo $j$i
ssh $j$i 'grep -P ".+(- .+)" abc/engine*yaml | perl -pe "s|\abc\/(ghf\d{2})\.lmn\/(engine-\d{1,2}).yaml:.+- (.+)|\1;\2;\3|g" |sort'
done # end CM
сделано
, который дает мне выход в виде:
a04
ghf04;engine-1;null
ghf04;engine-1;Michael
ghf04;engine-1;Hardy
Я хочу удалить строки, содержащие null из цикла grep. Итак, где я могу поместить grep -v в команду perl? Пробовал несколько вещей, как ниже, но не работали:
ssh $j$i 'grep -P ".+(- .+)" abc/engine*yaml | perl -pe "s|\abc\/(ghf\d{2})\.lmn\/(engine-\d{1,2}).yaml:.+- (.+)|\1;\2;\3|g" |grep -v ghf.+null |sort'
Perl больше, чем способен обрабатывать все это само по себе. Ваш вопрос будет намного яснее, если вы просто указали какой-то ввод, нужный результат и ваш 'grep | perl | sort' без петель или части 'ssh'. –
Ввод файла git yaml: приложений: - null - Michael - Hardy –
Пожалуйста, отредактируйте вопрос, чтобы показать нам небольшую репрезентативную выборку. –