Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "John","red","4"
- "Basketball","orange","2"
- "The Mike","blue","94"
- "Lizard","purple","3"
- "Johnny","pink","32"
- Mike
- John
- purple
- 32
- awk -F ""*,"*" '/**LIST ITEM**/ {print $1}' data.csv > output.txt
- The Mike
- John
- Johnny
- Lizard
- Johnny
- awk -F ""*,"*" '/Mike/ {print $1}' data.csv
- awk -F ""*,"*" '/John/ {print $1}' data.csv
- awk -F ""*,"*" '/purple/ {print $1}' data.csv
- awk -F ""*,"*" '/32/ {print $1}' data.csv
- $ awk -F, '
- NR == FNR {field1[$0] = $1; next}
- {
- for (line in field1)
- if (line ~ $0)
- print field1[line]
- }
- ' data.csv list.txt
- "The Mike"
- "John"
- "Johnny"
- "Lizard"
- "Johnny"
- $ awk -F, '
- NR == FNR {list[$1]; next}
- {
- for (item in list)
- if ($0 ~ item)
- print $1
- }
- ' list.txt data.csv
- "John"
- "The Mike"
- "Lizard"
- "Johnny"
- "Johnny"
- #!/bin/bash
- while read -r line; do
- awk -F '^"|","|"$' '$0 ~ line{print $2}' line="$line" data.csv
- done < list.txt
- $ while read -r line; do awk -F '^"|","|"$' '$0 ~ line{print $2}' line="$line" data.csv; done < list.txt
- The Mike
- John
- Johnny
- Lizard
- Johnny
- awk -F '^"?|"?,"?|"$?' 'BEGIN {
- # read list.txt into an array
- while (getline pat < "list.txt") {
- pats[pat] = 1
- }
- close("list.txt")
- }
- {
- # skip empty field before leading "
- if ($1 == "") {
- res = $2
- } else {
- res = $1
- }
- # scan record for patterns stored earlier,
- # output the first real data field (res) if
- # found
- for (pat in pats) {
- if ($0 ~ pat) {
- print res
- }
- }
- }' data.csv
Add Comment
Please, Sign In to add comment