パイプで区切られたファイルの列から特殊文字を削除する - 汎用

パイプで区切られたファイルの列から特殊文字を削除する - 汎用

[|!@#$%^&*\]パイプで区切られたファイルの特定の列から特殊文字を削除するには、通常のスクリプトを作成する必要があります。

たとえば、パイプ(|)で区切られたファイルがあり、すべてのファイルに共通の「コメントレビュー」列があります。コメント説明列で上記の特殊文字をすべて削除する必要があります。

コマンドを使用して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 }

おすすめ記事