Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 如何从文件中删除以某些单词开头的行_Unix_Sed_Grep - Fatal编程技术网

Unix 如何从文件中删除以某些单词开头的行

Unix 如何从文件中删除以某些单词开头的行,unix,sed,grep,Unix,Sed,Grep,我的文件扩展名是CSV,文件在unix服务器中的格式如下 “产品包装图”10302017.csv、“451”、“2017-10-30 05:02:26” “目标设定_10302017.csv”、“13”、“2017-10-30 05:02:26”, “目标选择”\u 10302017.csv、“42”、“2017-10-30 05:02:27” 我想根据filename关键字删除特定行。您可以使用grep-v: grep -v '^"Product_Package_Map_10302017.cs

我的文件扩展名是CSV,文件在unix服务器中的格式如下

“产品包装图”10302017.csv、“451”、“2017-10-30 05:02:26” “目标设定_10302017.csv”、“13”、“2017-10-30 05:02:26”, “目标选择”\u 10302017.csv、“42”、“2017-10-30 05:02:27”


我想根据filename关键字删除特定行。

您可以使用
grep-v

grep -v '^"Product_Package_Map_10302017.csv"' file > file.filtered
  • “^”Product\u Package\u Map\u 10302017.csv”
    与行开头的字符串
    “Product\u Package\u Map\u 10302017.csv”匹配
或者
sed
可以就地执行:

sed -i '/^"Product_Package_Map_10302017.csv"/d' file

有关其他备选方案,请参见本相关帖子:

    • 请参见此。基于grep的答案将是我的第一选择,但是,正如你所看到的,有很多方法可以解决这个问题


      (可能刚刚发表了评论,但我的“rep”还不够高)

      你说的“filename关键字”是什么意思?你试过什么?我的意思是“产品”\u包装”\u地图”\u 10302017.csv“和ITargeting”\u 10302017.csv“像Wises一样,这可以删除同一文件中的特定行。而不是创建新文件?