3

こんにちは、次のように 2 つのパラメーターを参照して、ステータス O を B に置き換える必要があるシェル スクリプトを作成しています。

1. trng-linx |  17.2.18. | change status to O to P in project tasklist | O | 1m
2. trng-lvk1 |  17.2.18. | change P to O in project tasklist | O | 1m

パターンに一致する行(この例では最初の行)のステータスを から| O |に変更したい| B |trng-linx17.2.18.

これを使ってみた

sed -i '/^.*\(17\.2\.18\.\).*/s/O/B/' tasklist.txt

ただし、最初の行だけでなく、両方の行のステータスを置き換えます。

これは私の望ましい出力です:

1. trng-linx |  17.2.18. | change status to O to P in project tasklist | B | 1m
2. trng-lvk1 |  17.2.18. | change P to O in project tasklist | O | 1m

それを理解するのを手伝ってください。

4

2 に答える 2

3

GNU シード

sed '/trng-linx |  17.2.18. |/s/O\s|/B\ |/' file
于 2013-06-19T11:50:38.107 に答える