私は1つのライナーを書こうとしていますが、私が間違っていることを理解できません。私は、次のコマンドを使用しようとしています:xargsをlinuxコマンドラインの1つのコマンドで複数回使用する
cat testadds | cut -f 1 -d "," | xargs -ifoo /bin/bash -c "cat testadds | cut -f 2 -d \",\" | xargs --replace=addr /bin/bash -c \"cat testadds | cut -f 3 -d \",\" | xargs --replace=num /bin/bash -c \"cat testmdl | sed 's/DUMMY/foo/g' | sed 's/IP1/addr/g' | sed 's/IP2/num/g'\"\""
私は次のように私のtestadds
ファイルが設定され、アウトプットのために何を取得:
dev,IP1,IP2
私は唯一の2 xargs
でこれを行うとき、それは正常に動作しますが、3番目と最後のxargs
を追加すると、出力はありません。あなたが何回ファイルを飾っているときにxargs
を使うことができるかに制限があるのだろうかと思います。
予想される入力は、複数のデバイスを持つファイルからのものだと思います。入力にTestDeviceなり、1.1.1.1,2.2.2.2
exepected出力は次のようになります
-deviceSystemSoftware」デバイス:にTestDevice '6500 7 SLOT OPTICAL SW:1021'
-deviceCname「デバイス:にTestDevice ' 'PRIORITYのSLA - 識別子 - にTestDevice'
-deviceDateAdded 'デバイス:にTestDevice' '2017年2月24日'
-deviceNotes 'デバイス:にTestDevice' 'BTWB100269 - にTestDevice'
-hier' ペン先:OPR | 0グループ:Openreachグループ:TSO '
-hier' nib:opr | 0グループ:Openreachグループ:TSOグループ:Ciena '
-hierUnique' nib:op | 0グループ:オープンリーチグループ:TSOグループ:Cienaデバイス:testdevice '
-createEntityサービス:snmp-trap-handling {デバイス:testdevice} CA | 0 [+ opr-ciena-6500-alarms | + Nocol ] '
-createEntity 'サービス:コンフィギュレーション追跡{デバイス:にTestDevice} OPR | 0 [ciena6500]'
-createEntity 'インターフェース:にTestDevice | COLAN-1-X'
-entityDescription' インターフェース:にTestDevice | COLAN-1-X '' COLAN-1-X '
-createEntity'アドレス:testdevice | COLAN-1-X | 1.1.1.1 '
-devicePrimaryInterface' device:testdevice '' interface:testdevice | X '
-deleteEntity '住所にTestDevice | MGMT | 1.1.1.1'
-deleteEntity 'サービス:ippingmon {インタフェース:にTestDevice | MGMT} OPR | 0 []'
-deleteEntity 'インターフェース:にTestDevice | MGMT'
-createEntity 'インターフェース:にTestDevice | SHELFIP'
-entityDescription 'インターフェース:にTestDevice | SHELFIP' 'SHELFIP'
-createEntity 'アドレス:にTestDevice | SHELFIP | 2.2.2.2'
がうまくいけば、これは私が何を
を支援します達成しようとするのは、ファイルを変更して期待通りに表示することです出力。これは私の監視システムに追加することです。申し訳ありませんが、これまで私がこれまで行ったことは初めてです。情報が不足していることをお詫び申し上げます。あなただけでも1行にあなたの試みよりも短くなっている単一while
ループ、必要
あなたのコマンドには理由がありますか: 1.ネストされたxargs呼び出しのレベルが3つあります。 2. xargsの使用を疑わしいものにしていますか? 期待される出力を表示してください。 –
ああ、今なぜ私は複数の交換をしたいと思う。しかし、あなたは本当にあなたの入力全体と期待される出力を示す必要があります。 –
予想される入力は、複数のデバイスを持つファイルからのものだと思います。 入力testIP1、testIP2 –