使用IF语句将名称附加到.csv文件

时间:2016-04-25 14:37:36

标签: bash csv if-statement

我有两个文件。一个是Emails.csv,另一个是名单。我需要将名称附加到包含该名称的电子邮件地址。我的问题是,某些行已经具有我需要的所需name1234@domain.com,name。文件names.txt按字母顺序排列,Emails.csv按行长度排序,最长。我如何做出附件(这是一个词?它必须是...)有条件的吗?

#!/bin/bash
while read n; do
egrep -i "$n" Emails.csv
  if [ -z '"$n" | cut -d"," -f2' ]; then
     sed -i "s/$/,$n/" Emails.csv
  fi
done < names.txt

正如我的脚本现在,它只是吐出Emails.csv的内容。 我需要一个Bash的解决方案。

1 个答案:

答案 0 :(得分:0)

使用sed

查找和替换更方便
#! /bin/bash
while read n; do
    sed -i -r "s/^[^,]*$n[^,]+$/\0,$n/g" Emails.csv
done < names.txt