sedを使用して、1行の別の文字の前にある文字を置き換えます。

sedを使用して、1行の別の文字の前にある文字を置き換えます。

私は/opt/tin/tossのいくつかの行を置き換えるためにsedなどを使ってみました。 *

例えば

37 7 * * * /opt/tin/toss
43 7 * * * /opt/tin/te1
58 7 * * * /opt/tin/test2

出力:

37 * * * * /opt/tin/toss
43 7 * * * /opt/tin/te1
58 7 * * * /opt/tin/test2

通常、7はランダムに生成され、0から24までの2、4、または8のいずれかです。

ベストアンサー1

sed '/\/opt\/tin\/toss/ s/^\([^ ]* \+\)[^ ]*\( .*\)$/\1*\2/'

次のように読むことができます。

可能であれば、/opt/tin/toss一致するパターンを交換してください。

^行の始まり、その後

\([^ ]* \+\)

\(任意の数の文字で構成される最初のグループ[^ ]*(最大1つ以上のスペース)\+、次のグループの終わり\)

[^ ]*

次は[^ ]*宇宙まで何でも来る

\( .*\)

\( .*\)$その後、一致する2番目のスペースセットが続き、最後まですべてが続きます。

そして

/\1*\2/

最初のグループ、次に*2番目のグループ。

おすすめ記事