sedを使用してmm / dd日付で最初に表示されるゼロを削除する方法は?

sedを使用してmm / dd日付で最初に表示されるゼロを削除する方法は?

mm / ddで最初に現れるゼロを削除したいです。たとえば。09/09/159/9/15

試してみましたecho 09/10/15 | sed 's/^.//'が、同様の結果が表示されます9/09/15。どうすればいいですか?

答え1

echo 01/01/2005 | sed 's=\(^\|/\)0=\1=g'

0の前に行の先頭または/がある場合は、行の先頭に置き換えられます(例:なしまたは/)。

答え2

0私が正しく理解したら、日付文字列からすべての先行sを削除したいと思います。その場合は、以下を試してください。

sed 's/0\([1-9]\)/\1/g'

これは0aの後に1から9までの数字が続き、括弧は数字を表します。次に、パターン全体を一致する> 0の数字(\1)に置き換えます。

答え3

sed 's/^/ /;s/\([^0-9.]\)0*\([1-9]\)/\1\2/g;s/.//' <infile >outfile

...1行にゼロ以外の数字が1つ以上含まれているすべての数値文字グループから前のゼロをすべて削除します。

関連情報