Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 从csv转储中删除特定行_Shell_Text Parsing - Fatal编程技术网

Shell 从csv转储中删除特定行

Shell 从csv转储中删除特定行,shell,text-parsing,Shell,Text Parsing,我有bash脚本和一个csv文件,其中多行包含名称、地址、数字,另一个文件夹包含csv文件中的几个名称的文件。如何仅删除包含文件夹中存在的文件名的行?首先制作一个脚本,从第二个文件夹中检索文件名。 您可以使用结果筛选第一个文件。 当名称具有特殊字符(如在sed中使用的)时,或者当csv文件具有类似 field1,"an other field with a , inside quotes",field3 awk是一个很好的工具。如果没有带引号的字段,,作为字段sep和字段1中的名称,可以使用

我有bash脚本和一个csv文件,其中多行包含名称、地址、数字,另一个文件夹包含csv文件中的几个名称的文件。如何仅删除包含文件夹中存在的文件名的行?

首先制作一个脚本,从第二个文件夹中检索文件名。
您可以使用结果筛选第一个文件。
当名称具有特殊字符(如在
sed
中使用的)时,或者当csv文件具有类似

field1,"an other field with a , inside quotes",field3
awk
是一个很好的工具。如果没有带引号的字段,
作为字段sep和字段1中的名称,可以使用

awk 'NR==FNR{a[$1];next} !($1 in a) {print}' <(cat secondfolder/allcsvfiles.csv) maincsv_file
# or without the default {print}
awk -F"," 'NR==FNR{a[$1];next} !($1 in a)' <(cat secondfolder/allcsvfiles.csv) maincsv_file
awk'NR==FNR{a[$1];next}!(一元一张){print}'