
[|!@#$%^&*\]
パイプで区切られたファイルの特定の列から特殊文字を削除するには、通常のスクリプトを作成する必要があります。
たとえば、パイプ(|
)で区切られたファイルがあり、すべてのファイルに共通の「コメントレビュー」列があります。コメント説明列で上記の特殊文字をすべて削除する必要があります。
コマンドを使用してsed
ファイルから特殊文字を削除できますが、通常のスクリプトを生成することはできません。
答え1
このawk
スクリプトは、最初の行に「Review Comment」のみを含むフィールドを検索し、残りのすべての行からそのフィールドのすべての特殊文字を削除します。
BEGIN {
FS="|"
OFS="|"
}
FNR==1 {
for ( N=1 ; N<=NF ; N++ ) {
if ( $N ~ /^Review Comments$/ )
revcol=N
}
}
FNR>1 {
gsub("[!@#$%^&*\\\\]","",$revcol)
}
{ print }