0

grep を使用して、検索文字が含まれている行を見つけます。その行に沿って、前の行と後の行が必要です。

For example

cat test.csv

bbbbbbbbbbbbb
xxx234.123yyy
abc123.456efg
zzz789.222xxx
aaaaaaaaaaaaa

grep '123.456' test.csv

I get a line say,
abc123.456efg

Addition to that I need like this

xxx234.123yyy
abc123.456efg
zzz789.222xxx
4

3 に答える 3

2

-Aおよび-Bオプションを使用できます。

% grep -A1 -B1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx

これにより、1 行の先行コンテキストと 1 行の後続コンテキストが出力されます。

ショートカットとして、grep はと-Cを組み合わせたオプションも提供します:-A-B

% grep -C1 '123.456' test.csv
xxx234.123yyy
abc123.456efg
zzz789.222xxx
于 2013-06-25T07:54:48.653 に答える
2
grep -C 1 abc123 input

マンページから:

-C NUM, -NUM, --context=NUM
           Print NUM lines of output context
于 2013-06-25T07:55:31.003 に答える
1

これは、-C旗が設計されている場所です

$ cat file
bbbbbbbbbbbbb
xxx234.123yyy
abc123.456efg
zzz789.222xxx
aaaaaaaaaaaaa
$ grep 123.456 file
abc123.456efg
$ grep -C1 123.456 file
xxx234.123yyy
abc123.456efg
zzz789.222xxx
于 2013-06-25T07:55:13.723 に答える