[解決済み] grep -P が効かなくなりました。どうすれば検索を書き換えることができますか?
2022-05-13 23:03:15
質問
新しいバージョンの OSX は、もう
grep -P
をサポートしなくなったようで、そのため、私のスクリプトのいくつかは動作しなくなりました。
var1=`grep -o -P '(?<=<st:italic>).*(?=</italic>)' file.txt`
grepを変数に取り込む必要があるので、ゼロ幅アサーションと同様に
\K
var2=`grep -P -o '(property:)\K.*\d+(?=end)' file.txt`
何か代替案があれば、ぜひお願いします。
どのように解決するのですか?
最小限の作業で済ませたい場合は、以下のように変更します。
grep -P 'PATTERN' file.txt
から
perl -nle'print if m{PATTERN}' file.txt
と変更し
grep -o -P 'PATTERN' file.txt
から
perl -nle'print $& while m{PATTERN}g' file.txt
となるわけです。
var1=`perl -nle'print $& while m{(?<=<st:italic>).*(?=</italic>)}g' file.txt`
var2=`perl -nle'print $& while m{(property:)\K.*\d+(?=end)}g' file.txt`
あなたの特定のケースでは、余分な作業でよりシンプルなコードを達成することができます。
var1=`perl -nle'print for m{<st:italic>(.*)</italic>}g' file.txt`
var2=`perl -nle'print for /property:(.*\d+)end/g' file.txt`
関連
-
[解決済み】Git リポジトリから .DS_Store ファイルを削除するには?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] あるディレクトリにあるすべてのコード行を再帰的にカウントするにはどうすればよいですか?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] 連続したストリームを「grep」する方法とは?
-
[解決済み] Bashで数値を比較するには?
-
[解決済み] Mac OS Xのターミナルで、前の出力をクリアするにはどうすればよいですか?
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] grepを使ってxmlタグの中の情報を見つけるには?
-
BlackApple-Minisforum u820 opencore0.6.9 config.plist
-
ffiのコンパイルに失敗しました *** extconf.rbに失敗しました *** 解決策
-
[解決済み】ディレクトリツリー全体の改行コードを変換する(Git)。
-
[解決済み] sed/grepを使って、2つの単語の間のテキストを抽出するには?
-
[解決済み] grep -P が効かなくなりました。どうすれば検索を書き換えることができますか?
-
[解決済み] OS Xのコマンドラインからアクティブユーザーの名前を取得するにはどうしたらいいですか?