テキストファイルはyyyy/mm/ddを検索してyyyy-mm-ddに置き換えます。

テキストファイルはyyyy/mm/ddを検索してyyyy-mm-ddに置き換えます。

次の行形式の複数のタグを含むファイルがありますが、1つのファイル内のすべてのインスタンスで指定されているようにyyyy/mm/ddタグを変更したいと思います。例えば/-yyyy-mm-dd

これから:<tag k='start_date' v='2011/01/01' />
これまで:<tag k='start_date' v='2011-01-01' />

Mac 10.11.6を使用しています。

ベストアンサー1

sedあなたはそれを使用することができます

$ sed -E 's|([0-9]{4})/([0-9]{2})/([0-9]{2})|\1-\2-\3|g' file

試してみてください。

macOSまたはFreeBSDを使用してファイルを内部で編集するには、-i ''オプションを追加します。他のほとんどのsed実装には-i別々の実装が必要です(両方とも-i.back機能し、.back拡張機能を使用して元のバージョンを保存します)。sed内部編集をサポートしていないシステムでは、(このようにインスピレーションを与えた)perl -pi -e代わりに使用できます。sed -Esed -i

おすすめ記事