久しぶりにawk使ったらほんとに忘れててビビった

鯖缶の必携ツールと言えばtailとかcutとかawkとかですよね。

str='';for sid in `cat some.txt | cut -f13|sort|uniq`;do if [ -n "$str" ]; then str="$str|";fi;str="$str$sid";done;awk -v m="/$str/" '$1 ~ m {print}' ~/another.txt > yet_another.txt

というのを書くのに(結果はとっくに得られてたのに)20分くらい費やした。

#!/bin/bash
str=''
for sid in `cat some.txt | cut -f13|sort|uniq`
do
  if [ -n "$str" ]
  then
    str="$str|"
  fi
  str="$str$sid"
done
awk -v m="/$str/" '$1 ~ m {print}' ~/another.txt > yet_another.txt

some.txtの13列目に入ってる値をanother.txtの1列目と照らし合わせてyet_another.txtに書き出す。添削してくだちい。

追記

debugコードが残ってたので消した

追記

だめじゃん!

awk -v m="/$str/" '$1 ~ m {print}' ~/another.txt > yet_another.txt

じゃなくて

awk -v m=$str '$1 ~ m {print}' ~/another.txt > yet_another.txt

じゃん。ひどい。ものすごい勘違いをしていた。