Как мне использовать sed как cut -d ':' -f2? - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь выучить sed и не могу понять это. Я нашел это:

sed -e ‘s/^[^=]*=//’

для получения "valueA" из "valueA = value", но данные, с которыми я работаю, таковы:

Continent:Area(sq. mi):Density(People per sq. mi)

Asia:16,920,000:225
Africa:11,730,000:76
North America:9,460,000:54
South America:6,890,000:54
Antarctica:5,300,000:0.00018
Europe:3,930,000:181
Australia:3,478,200:9.3

===========================

Головоломка говорит об использовании sed, как 'cut -d': '-f2', и я не могу сделать это правильно.

1 Ответ

0 голосов
/ 25 января 2020

Это может сработать для вас (GNU sed):

sed -n 's/[^:]*/\n&\n/2;s/.*\n\(.*\)\n.*/\1/p' file

Окружите 2-е поле символами новой строки, затем удалите все, вплоть до новой строки, а также все от новой строки до конца строки .

...