file.csv
ファイルの6番目の列がuser_ids_to_keep.csv
。
私が読みたいファイルはfile.csv
次のとおりです。
Year,WeekOfYear,DaysInWeek,USAIsBankHoliday,holidays,**user_id**
2013,1,5,2,1,1
2013,1,5,2,1,2
2013,1,5,2,1,3
, etc.
一致するIDを取得するuser_ids_to_keep.csv
IDのリストは次のとおりです。
1
3
5
, etc.
output.csv
私が作成したいファイルは次のようになります。
Year,WeekOfYear,DaysInWeek,USAIsBankHoliday,holidays,**user_id**
2013,1,5,2,1,1
2013,1,5,2,1,3
,etc.
列ユーザーIDfile.csv ファイルの最初のファイルです。コマンドが使えると思います。
grep -Fwf
しかし、今はこの問題をどのように解決するのかわかりません。
ベストアンサー1
ファイル表示:
head *
...出力:
==> file.csv <==
Year,WeekOfYear,DaysInWeek,USAIsBankHoliday,holidays,**user_id**
2013,1,5,2,1,1
2013,1,5,2,1,2
2013,1,5,2,1,3
==> user_ids_to_keep.csv <==
1
3
5
見苦しいPOSIXコード(1行にコピー可能):
{ read x ; echo $x ; \
while read x ; \
do for f in `cat user_ids_to_keep.csv` ; \
do n=${x#${x%,*},} ; \
if [ $n = $f ] ; \
then echo $x ; \
continue ; \
fi ; \
done ; \
done ; } < file.csv | tee output.csv
示す:
Year,WeekOfYear,DaysInWeek,USAIsBankHoliday,holidays,**user_id**
2013,1,5,2,1,1
2013,1,5,2,1,3