mm / ddで最初に現れるゼロを削除したいです。たとえば。09/09/15
9/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'
これは0
aの後に1から9までの数字が続き、括弧は数字を表します。次に、パターン全体を一致する> 0の数字(\1
)に置き換えます。
答え3
sed 's/^/ /;s/\([^0-9.]\)0*\([1-9]\)/\1\2/g;s/.//' <infile >outfile
...1行にゼロ以外の数字が1つ以上含まれているすべての数値文字グループから前のゼロをすべて削除します。