私のsedコマンドは、
sed '/(.*:)/d' <<< 'abcd:bcde:cdeaf'
戻らなければならない、
bcde:cdeaf
(つまり)行の最初のコロンの前のすべての文字とコロン自体を削除する必要があります。
しかし、これは何も削除しません。
私の混乱は主に、
1)パターンマッチングの括弧は、sed regex-es内でエスケープする必要がありますか?
2)どちらの場合でも(エスケープ/エスケープなし)、動作していません。私は試した、
sed -E '/\\(.*:\\)/d' <<< 'abcd:bcde'
または、単にbashを使用し
—
...-jasonwryan
printf "%s\n" "${line#*:}"ます:...
@jasonwryan-サンプルソースを考慮した良い点。それは間違いなくそれを処理するためのより効率的な方法です。ただし、
—
mikeserv
while read lineを取得する場合は$line、おそらくsed優先されるはずです。
sed 's/[^:]*://'。そして、あなたはd入力行をs///削除していません。ところで、あなたは置換コマンドでそれを修正しています。最初のコロンではないビットとそれに続くコロンをまったく置き換えないでください。