【发布时间】:2022-05-25 17:23:19
【问题描述】:
我有看起来像这样的 CSV 文件:
/users/my/temporaryprojects/project1/Assets/file.ttf,Arial Unicode MS,Regular,Arial Unicode MS,ArialUnicodeMS,Version 1.01x,Monotype
/users/my/temporaryprojects/project2/Assets/file2.ttf,Arial Unicode MS,Regular,Arial Unicode MS,ArialUnicodeMS,Version 1.01x,Monotype
我需要将路径更改为 users/my/temporaryprojects/project1 + CSV 数据的其余部分、users/my/temporaryprojects/project2 + CSV 数据的其余部分等...。我试图做不同的bash脚本,比如
cut -d\'/\' -f 5- newTTF-Projects-INFO.csv >> ONETTF-Projects-INFO.csv
但不幸的是,每次脚本删除第一个逗号分隔值之后的所有内容时:
/users/my/temporaryprojects/project1
/users/my/temporaryprojects/project2
我需要它采用这种格式:
/users/my/temporaryprojects/project1, Arial Unicode MS,Regular,Arial Unicode MS,ArialUnicodeMS,Version 1.01x,Monotype
/users/my/temporaryprojects/project2, Arial Unicode MS,Regular,Arial Unicode MS,ArialUnicodeMS,Version 1.01x,Monotype
我需要缩短文件的路径,首先是文件的路径,并保留所有其他数据。我知道每次我只需要价值的前 4 部分。我试图用 \"cut\"、\"sed\"、\"awk\" 整夜这样做,但我没有我的结果。每个方法都会删除第一个逗号后的值。有人可以帮我吗?我没有找到我的问题的任何答案。要编辑的文件有很多行,例如示例中的行。
-
一个简单的
sed \'s#^[^,]*/#my/new/path/#\' newTTF-Projects-INFO.csv就足够了 -
@Fravadona 我稍微改变了我的问题,抱歉我的解释错误。我需要具有与 CSV 中的路径完全相同的确切路径,并且文件中也有不同的路径。我只需要路径的前 4 个部分和 CSV 数据的其余部分。但我很欣赏你的回答,它实际上是最接近我的问题的一个:)
-
是否有可能引用第一个字段?例如,如果路径之一包含逗号,就会出现这种情况。
-
不,它没有被引用