【发布时间】:2021-02-10 15:12:19
【问题描述】:
当某个单词在 CSV 文件中也以问号开头时,我很难找到如何匹配该单词。我需要使用 tcsh 代码。
我的意思是我可以匹配“cat”同时排除“zcat”但它包含“?cat”。这是我的代码:
#!/bin/tcsh -f
set viewSet = PRE_IMPL
set nbViewSet=`awk -F ";" '{ for (i=1; i<=NF; i++) { if ($i == "VIEW SETS") print i } }' csv.csv`
/usr/bin/awk -F ";" -v col="$nbViewSet" '(match($col, '"/\<"$viewSet"\>/"') != 0) {print}' csv2.csv
因此,使用此代码,我将以下内容作为输入 CSV 文件:
STANDARD KEYS;COMPATIBLE KEYS;CELL KEY;COND KEY;WORKSPACE PATH;VIEW PATH;CATEGORIES;CONDS SECTION;VIEW SETS;TYPES
;;;;;;;;PRE_IMPL;
;;;;;;;;zPRE_IMPL;
;;;;;;;;?PRE_IMPL;
;;;;;;;;PRE_IMPL;
所以在这里我只想匹配单词“PRE_IMPL”,既不匹配“zPRE_IMPL”也不匹配“?PRE_IMPL”。我的代码设法排除“zPRE_IMPL”但不排除“?PRE_IMPL”,我没有设法改变它,输出是:
;;;;;;;;PRE_IMPL;
;;;;;;;;?PRE_IMPL;
;;;;;;;;PRE_IMPL;
如何更改我的代码以仅匹配“PRE_IMPL”?
【问题讨论】:
-
@Sylvain_cmz,很高兴你以代码的形式展示了你的努力,你能否在你的问题中发布更清晰的示例,然后让我们知道。