grepからsedに切り替える

grepからsedに切り替える

students.txt次の形式の行を含むファイルがあります。

Surname, Forename: Day.Month.Year: Degree

たとえば、

Smith, John: 15.01.1986: MSc IT
Taylor, Susan: 04.05.1987: MSc IT
Thomas, Steve: 19.04.1986: MSc MIT
Sellen, Jo: 03.07.1987: MSc CSE

以下の命令をsed1987年に生まれた生徒のすべての姓を返す命令に変更するにはどうすればよいですか。

$ grep 1987 students.txt | grep -o "^\(.*\),"

ベストアンサー1

sed -n '/1987/s/^\([^,]*\),.*$/\1/p' students.txt

またはGlennが指摘したように:

sed -n '/1987/s/,.*//p' students.txt

おすすめ記事