Awk to filter table
Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
I need some help with awk. I need to Write an awk command that will return the Identification number from the following table for only the lines where the title is "Turtle". This table is stored in turtle.txt
Id Num. Title CatchDate
433417 RedTurtle 2001-06-29
493303 BlueTurtle 1998-09-20
259497 Turtle 1985-05-08
229505 RedTurtle 1994-07-13
473076 OrangeTurtle 2002-03-08
221907 Blueturtle 1999-07-02
457032 Turtle 1993-04-09
490359 RedTurtle 1996-11-12
494595 SnappingTurtle 1985-05-20
402421 BlueTurtle 1999-08-16
Any help would be very much appreciated
bash
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
up vote
3
down vote
favorite
I need some help with awk. I need to Write an awk command that will return the Identification number from the following table for only the lines where the title is "Turtle". This table is stored in turtle.txt
Id Num. Title CatchDate
433417 RedTurtle 2001-06-29
493303 BlueTurtle 1998-09-20
259497 Turtle 1985-05-08
229505 RedTurtle 1994-07-13
473076 OrangeTurtle 2002-03-08
221907 Blueturtle 1999-07-02
457032 Turtle 1993-04-09
490359 RedTurtle 1996-11-12
494595 SnappingTurtle 1985-05-20
402421 BlueTurtle 1999-08-16
Any help would be very much appreciated
bash
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I need some help with awk. I need to Write an awk command that will return the Identification number from the following table for only the lines where the title is "Turtle". This table is stored in turtle.txt
Id Num. Title CatchDate
433417 RedTurtle 2001-06-29
493303 BlueTurtle 1998-09-20
259497 Turtle 1985-05-08
229505 RedTurtle 1994-07-13
473076 OrangeTurtle 2002-03-08
221907 Blueturtle 1999-07-02
457032 Turtle 1993-04-09
490359 RedTurtle 1996-11-12
494595 SnappingTurtle 1985-05-20
402421 BlueTurtle 1999-08-16
Any help would be very much appreciated
bash
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I need some help with awk. I need to Write an awk command that will return the Identification number from the following table for only the lines where the title is "Turtle". This table is stored in turtle.txt
Id Num. Title CatchDate
433417 RedTurtle 2001-06-29
493303 BlueTurtle 1998-09-20
259497 Turtle 1985-05-08
229505 RedTurtle 1994-07-13
473076 OrangeTurtle 2002-03-08
221907 Blueturtle 1999-07-02
457032 Turtle 1993-04-09
490359 RedTurtle 1996-11-12
494595 SnappingTurtle 1985-05-20
402421 BlueTurtle 1999-08-16
Any help would be very much appreciated
bash
bash
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 28 mins ago


Isaac
7,79711137
7,79711137
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 34 mins ago
Kamat
161
161
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Kamat is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
add a comment |Â
5 Answers
5
active
oldest
votes
up vote
5
down vote
You can use:
awk '$2 == "Turtle" print $1' file
259497
457032
add a comment |Â
up vote
5
down vote
awk '$2 == "Turtle" print $1' turtle.txt
259497
457032
$2 is the field to select
Turtle is the text to match
print $1 is to print the first field.
turtle.txt is the name of the source file.
add a comment |Â
up vote
3
down vote
non-awk alternative:
grep -w "Turtle" turtle.txt | cut -d " " -f 1
add a comment |Â
up vote
3
down vote
Using sed:
sed -n '/sTurtles/s/^([0-9]+)s.*/1/p' file
add a comment |Â
up vote
3
down vote
Golfing it:
$ awk '$2=="Turtle"&&$0=$1' <file
259497
457032
Or, expanded in stages until we reach Isaac's and Goro's answers
awk '$2 == "Turtle" && $0 = $1' <file
awk '$2 == "Turtle" $0 = $1; print ' <file
awk '$2 == "Turtle" print $1 ' <file
The three are not exactly equivalent as my golfed code would not print the number if it was zero.
Here's a proper sed
solution to make up for the golfing above:
$ sed -n '/<Turtle>/s/ .*//p' <file
259497
457032
add a comment |Â
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
5
down vote
You can use:
awk '$2 == "Turtle" print $1' file
259497
457032
add a comment |Â
up vote
5
down vote
You can use:
awk '$2 == "Turtle" print $1' file
259497
457032
add a comment |Â
up vote
5
down vote
up vote
5
down vote
You can use:
awk '$2 == "Turtle" print $1' file
259497
457032
You can use:
awk '$2 == "Turtle" print $1' file
259497
457032
edited 27 mins ago
answered 32 mins ago
Goro
7,48253169
7,48253169
add a comment |Â
add a comment |Â
up vote
5
down vote
awk '$2 == "Turtle" print $1' turtle.txt
259497
457032
$2 is the field to select
Turtle is the text to match
print $1 is to print the first field.
turtle.txt is the name of the source file.
add a comment |Â
up vote
5
down vote
awk '$2 == "Turtle" print $1' turtle.txt
259497
457032
$2 is the field to select
Turtle is the text to match
print $1 is to print the first field.
turtle.txt is the name of the source file.
add a comment |Â
up vote
5
down vote
up vote
5
down vote
awk '$2 == "Turtle" print $1' turtle.txt
259497
457032
$2 is the field to select
Turtle is the text to match
print $1 is to print the first field.
turtle.txt is the name of the source file.
awk '$2 == "Turtle" print $1' turtle.txt
259497
457032
$2 is the field to select
Turtle is the text to match
print $1 is to print the first field.
turtle.txt is the name of the source file.
edited 10 mins ago
answered 32 mins ago


Isaac
7,79711137
7,79711137
add a comment |Â
add a comment |Â
up vote
3
down vote
non-awk alternative:
grep -w "Turtle" turtle.txt | cut -d " " -f 1
add a comment |Â
up vote
3
down vote
non-awk alternative:
grep -w "Turtle" turtle.txt | cut -d " " -f 1
add a comment |Â
up vote
3
down vote
up vote
3
down vote
non-awk alternative:
grep -w "Turtle" turtle.txt | cut -d " " -f 1
non-awk alternative:
grep -w "Turtle" turtle.txt | cut -d " " -f 1
answered 30 mins ago


RobotJohnny
740216
740216
add a comment |Â
add a comment |Â
up vote
3
down vote
Using sed:
sed -n '/sTurtles/s/^([0-9]+)s.*/1/p' file
add a comment |Â
up vote
3
down vote
Using sed:
sed -n '/sTurtles/s/^([0-9]+)s.*/1/p' file
add a comment |Â
up vote
3
down vote
up vote
3
down vote
Using sed:
sed -n '/sTurtles/s/^([0-9]+)s.*/1/p' file
Using sed:
sed -n '/sTurtles/s/^([0-9]+)s.*/1/p' file
answered 23 mins ago
oliv
1,121210
1,121210
add a comment |Â
add a comment |Â
up vote
3
down vote
Golfing it:
$ awk '$2=="Turtle"&&$0=$1' <file
259497
457032
Or, expanded in stages until we reach Isaac's and Goro's answers
awk '$2 == "Turtle" && $0 = $1' <file
awk '$2 == "Turtle" $0 = $1; print ' <file
awk '$2 == "Turtle" print $1 ' <file
The three are not exactly equivalent as my golfed code would not print the number if it was zero.
Here's a proper sed
solution to make up for the golfing above:
$ sed -n '/<Turtle>/s/ .*//p' <file
259497
457032
add a comment |Â
up vote
3
down vote
Golfing it:
$ awk '$2=="Turtle"&&$0=$1' <file
259497
457032
Or, expanded in stages until we reach Isaac's and Goro's answers
awk '$2 == "Turtle" && $0 = $1' <file
awk '$2 == "Turtle" $0 = $1; print ' <file
awk '$2 == "Turtle" print $1 ' <file
The three are not exactly equivalent as my golfed code would not print the number if it was zero.
Here's a proper sed
solution to make up for the golfing above:
$ sed -n '/<Turtle>/s/ .*//p' <file
259497
457032
add a comment |Â
up vote
3
down vote
up vote
3
down vote
Golfing it:
$ awk '$2=="Turtle"&&$0=$1' <file
259497
457032
Or, expanded in stages until we reach Isaac's and Goro's answers
awk '$2 == "Turtle" && $0 = $1' <file
awk '$2 == "Turtle" $0 = $1; print ' <file
awk '$2 == "Turtle" print $1 ' <file
The three are not exactly equivalent as my golfed code would not print the number if it was zero.
Here's a proper sed
solution to make up for the golfing above:
$ sed -n '/<Turtle>/s/ .*//p' <file
259497
457032
Golfing it:
$ awk '$2=="Turtle"&&$0=$1' <file
259497
457032
Or, expanded in stages until we reach Isaac's and Goro's answers
awk '$2 == "Turtle" && $0 = $1' <file
awk '$2 == "Turtle" $0 = $1; print ' <file
awk '$2 == "Turtle" print $1 ' <file
The three are not exactly equivalent as my golfed code would not print the number if it was zero.
Here's a proper sed
solution to make up for the golfing above:
$ sed -n '/<Turtle>/s/ .*//p' <file
259497
457032
answered 6 mins ago


Kusalananda
108k14210333
108k14210333
add a comment |Â
add a comment |Â
Kamat is a new contributor. Be nice, and check out our Code of Conduct.
Kamat is a new contributor. Be nice, and check out our Code of Conduct.
Kamat is a new contributor. Be nice, and check out our Code of Conduct.
Kamat is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f473978%2fawk-to-filter-table%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password