シェルスクリプトで2つの文字列パターンがその後発生する間に文字列を置き換える方法は?

エイマン

次のような数行のファイルがあります。

"key1":"val1","key2":"val2","key3":"val3","key4":"val4"

vi使用するエディタまたはsed私は間のすべてのテキストを置き換えたい":"","して","、私はすべてのキーを維持し、すべての値を削除したい。すなわち。

行は次のようになります:

"key1","key2","key3","key4"

ではviエディタ私が使用しようとした:%s/":".*","/","/g、と使用sed私が使用sed 's/":"*","/","/'代わりに、間のテキストを置き換えるので、それは最初の発生から、すべてのテキストを削除している":"し、最後に出現する","、つまり行がなってきています"key1","key4":"val4"

どのように私は、その後の出現の間でテキストを置き換えない":"と、次の","

ジョセフ・クインジー

キーも値も含めることができないと仮定すると"、このsedソリューションは機能します。

   sed 's/\("[^"]*"\):"[^"]*"/\1/g'

説明:

  • s/ 代替
  • /\("[^"]*"\):"[^"]*"/探し"stuff":"more stuff"、他の二重引用符が存在しないと仮定した場合"stuff等、次いで最初の部分(とキャプチャ\(\))を
  • /\1/ 最初の部分だけを保持します
  • /g 続けます

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

シェルスクリプトは、変数の最初の文字列のみを置き換えます

文字列オブジェクトを文字列プールオブジェクトに変換するにはどうすればよいですか?

リストを文字列配列に変換するときの互換性のない型

linqクエリプロパティの最初のセットをオプションの文字列として返す最も簡単な方法は何ですか?

swift2の別の文字列で1つの文字列のすべての位置を見つける方法は?

msqlはデータベース内のリンクを置き換えます

コアダンプが発生したときにユーザースペーススクリプトを実行するようにLinuxカーネルを構成するオプションはありますか?

ステートメントチェックから「+ mod」を削除すると、次のプログラムが間違った答えを返すのはなぜですか。問題のリンク:https://www.codechef.com/problems/FFC219B

Kotlinでトーストの重力(プロパティスタイル)を設定するにはどうすればよいですか(エラーが発生します)?

すべてのリリースサイクルの開始時に発生するツールチェーンのアップロードとは何ですか?

Visual Studio2019のBizTalkプロジェクトテンプレートでUpdateVersionTaskエラーが発生する

シェルスクリプトで空白行をエコーするための推奨される方法は何ですか?

Cocosクリエーターのシーン間を移動する方法は?

Formtastic構文を使用してRubyon Railsで文字列のリストを整数属性にマップするにはどうすればよいですか?

パンダの時間値に基づいてデータをフィルタリングする方法は?

nodejsを使用して配列リストに存在する特定の拡張子を持つファイルをチェックする方法

文字列をjqueryからlaravelのブレードに変換する方法

すべてキーワードを含む文字列のベクトルを変更するにはどうすればよいですか?

ターミナルを開くたびにシェルスクリプトを実行する方法はありますか?

変換後にLiveDataオブジェクトを取得するためのより良い方法は何ですか?

Oracle PL SQLのプロシージャで(オブジェクトタイプテーブル)の入力パラメータから値を取得するにはどうすればよいですか?

Firebaseでデフォルトのプロジェクトホスティングをリセットするにはどうすればよいですか?

ExcelリストからAPIPythonのループにデータをインポートする方法

rails_adminにカスタムボタンを作成するにはどうすればよいですか?ボタンがポップアップして、2つのオプションを選択するように求められますか?

ロック画面(ピンプロンプト付き)を設定するが、x分間操作がないとスリープしないようにするにはどうすればよいですか?

シェルスクリプトでstdinを閉じるにはどうすればよいですか?

コマンドのスクリプトを明らかにする方法は?

Vyper:PythonでEthereumクラシックスマートコントラクトを作成/デプロイするのと互換性がありますか?

ネストされた配列の最後のインデックスにアクセスする方法