"key = value" 行: 特定のキーの値を変更する方法は?

ファイル内の式の右側を見つけて使用したいですsed。これにより、grep我々は以下を見る。

$ grep power TheFile 
power                 = 1

また、cut次の値にアクセスできます。

$ grep power TheFile  | cut -d = -f 2
 1

sedただし、そのコマンドを使用してパイプする方法がわかりません。これを達成する方法についてのアイデアはありますか?

ベストアンサー1

どうですか?

sed '/^power /s/=.*$/= your-replacement/' TheFile
  1. /^power /はアドレス指定子です。この場合、regexに一致する行を探します^power

  2. s正規表現に一致する代替コマンドです。つまり=、..

  3. ファイルの内容をパイプする必要はありません。ファイルの内容(またはファイルのリスト)をコマンド引数として指定できます。何かをにパイプで接続したい場合、または必要に応じてsed簡単です| sed ..。ただです。

  4. たとえば、最初の単語の直後のスペースがタブでpowerある場合は、代わりにそのスペースを使用してください[[:blank:]]。一部のバージョンでは、明示的なタブ文字をsed使用できます。\t

おすすめ記事