如何仅从第一列的 csv 记录中删除“//”

如何仅从第一列的 csv 记录中删除“//”

之前我问过如何添加//.
现在我需要//从第一列中删除。

样本文件1

// 一些评论
// 一些解释
//====================
100,5,3,8,,//不适用,
500,5,44,8,,,
2500,5,2,8,,//22,
//2121,5,2,8,,,
5535,5,4,6069,,,
//5844,1,4,5844,,,
5900,5,2,8,,,
//6069,5,4,8,,,

结果

// 一些评论
// 一些解释
//====================
100,5,3,8,,//不适用,
500,5,44,8,,,
2500,5,2,8,,//22,
2121,5,2,8,,,
5535,5,4,6069,,,
5844,1,4,5844,,,
5900,5,2,8,,,
6069,5,4,8,,,

我尝试过

sed 's/\/\///1'

awk -F',' '/\/\/[0-9][0-9][0-9]*/ {sub ("//", ""); print}'

答案1

你可以使用

sed -E 's|^//([0-9])|\1|' file

或使用标准 sed

sed 's|^//\([[:digit:]]\)|\1|' file

或者

awk '/^\/\/[0-9]/{sub(/^\/\//,"")}1' file

答案2

尝试使用下面的 Sed 命令并且工作正常

命令

sed '4,$s/^\/\///g' filename

// some comment
// some  explanation
//===================
100,5,3,8,,//NA,
500,5,44,8,,,
2500,5,2,8,,//22,
2121,5,2,8,,,
5535,5,4,6069,,,
5844,1,4,5844,,,
5900,5,2,8,,,
6069,5,4,8,,,

相关内容