0

这是我的代码:

'FNR==NR {a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt

它正在做我需要的,除了我需要忽略大小写。我曾尝试在不同的地方使用 IGNORECASE=1 但我无法让它工作。它要么失败,要么给我零结果,要么一起忽略它。我尝试使用 BEGIN [IGNORECASE = 1} 没有运气。

任何帮助将不胜感激,我不知所措。我在终端窗口中运行它,而不是从 bash 脚本。这是最终目标

注意:输出必须包含大小写以匹配原始文件

这是我尝试使用 IGNORECASE 的确切代码:

awk -F, 'IGNORECASE=1 FNR==NR {a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt
awk -F, 'FNR==NR {IGNORECASE=1} {a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt
awk -F, '{IGNORECASE = 1} FNR==NR {a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt
awk -F, 'BEGIN {IGNORECASE = 1} FNR==NR {a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt
awk -F, 'FNR==NR {{IGNORECASE=1} a[$1 FS $2 FS $3 FS $4]++; next} !a[$1 FS $2 FS $3 FS $5]' comparegam.txt workstudyusers1.csv >noidea6.txt

以及这些的各种迭代。

4

1 回答 1

3
'
  FNR==NR {
    a[tolower($1 FS $2 FS $3 FS $4)]++;
    next
  }
  !a[tolower($1 FS $2 FS $3 FS $5)]
' comparegam.txt workstudyusers1.csv >noidea6.txt
于 2014-07-22T19:16:56.953 回答