この「sed」コマンドを私に説明して改善するのに役立ちますか?

この「sed」コマンドを私に説明して改善するのに役立ちますか?

私はコマンドラインを見つけましたが、正確に何が起こっているのかわかりません。

pdftk $1 dump_data | sed -e 's/\(InfoValue:\)\s.*/\1\ /g'

この行では、コマンドはsed私の主な疑問です。どうしたの?

私はこの部分が初めてで、この部分では*/\1\コマンドがsed呼び出されていると思うので、$1変更したらコマンドを$1変更する必要があります。sedたぶん、次のようなものがあります。

pdftk out dump_data | sed -e 's/\(InfoValue:\)\s.*/\out\ /g'

しかし、理論を理解していないので、sed仮説を確信できません。

ベストアンサー1

いいえ、このsedコマンドはパイプ移行コマンドと直接関連しません。このsedコマンドは標準入力からのデータのみを受け入れます。これは理論的な質問ではなく、sedシェルスクリプトの基本原則です。

  1. pdftk $1 dump_data2つの引数を使用してpdftkバイナリ(人気のPDF操作プログラム)を呼び出します。最初の引数は、シェルスクリプトの最初の引数として入力することです。 2番目のパラメータpdftkはcommandですdump_data

  2. 最初のコマンドの出力は、|代替パイプ(記号)を介して2番目のコマンドに直接接続されますsed

  3. InfoValue:空白文字とその他の文字が続く文字列の発生 - ドット\sはすべての文字を表し、アスタリスクは反復回数、一致回数を表します。ただし、置換には最初の部分(バックスラッシュの括弧のペア)だけがあり、その後に白い部分があります。最後のバックスラッシュの後に何が来るべきかは実際には明確ではありません。 Final はg「すべてのアイテムを交換」を意味します。

おすすめ記事