嗨,我有一个csv文件的列表,这些文件需要通过删除一些不需要的字符来正确地格式化。
原件:
9: ["2019-4-24",-7.101458109105941]
10: ["2019-5-6",-7.050609022950812]
100: ["2019-5-6",-7.050609022950812]我想将其修改为:
2019-4-24,-7.101458109105941
2019-5-6,-7.050609022950812
2019-5-6,-7.050609022950812在这种格式中有几十个文件,我正在考虑编写一个sed命令,对目录中的所有文件进行一系列空替换,但这些命令似乎不起作用。
find ./ -type f -exec sed -i '' -e "s/^[[:space:]]*//" {} \;
find ./ -type f -exec sed -i '' -e "s/\[//" {} \;
find ./ -type f -exec sed -i '' -e "s/\]//" {} \; 非常感谢你的建议。
发布于 2022-04-22 02:30:59
我发现这个可以在我的linux机器上工作。
find ./ -type f -exec sed -i "s/^.\+\[//;s/\"//g;s/\]//" {} \;我收集到的内容相当于macOS中的以下内容:
find ./ -type f -exec sed -i '' "s/^.\+\[//;s/\"//g;s/\]//" {} \;它由三个替换(用分号分隔)组成:
s/^.\+\[//删除从开始到"[“字符的所有内容。
s/\"//g删除双引号字符的所有出现。
s/\]//在结尾删除最后的"]“。
如果要使用sed -i,请做一个备份或其他什么。
https://stackoverflow.com/questions/71962745
复制相似问题