我需要创建一个通用脚本来[|!@#$%^&*\]
从管道分隔文件中的特定列中删除特殊字符。
例如,我有管道 ( |
) 分隔的文件,并且有所有文件共有的“审阅注释”列。我需要从评论评论栏中删除上面给出的所有特殊字符。
我可以使用sed
命令从文件中删除特殊字符,但无法创建通用脚本。
答案1
此awk
脚本搜索第一行中仅包含“审阅注释”的字段,然后删除所有剩余行中该字段中的所有特殊字符。
BEGIN {
FS="|"
OFS="|"
}
FNR==1 {
for ( N=1 ; N<=NF ; N++ ) {
if ( $N ~ /^Review Comments$/ )
revcol=N
}
}
FNR>1 {
gsub("[!@#$%^&*\\\\]","",$revcol)
}
{ print }