入力する:
4857544398A7CB9C(HWTC98A7CB9C); AHH-ABN-19-2-59-0720000000-amir3456; 129
希望の出力:
4857544398A7CB9C(HWTC98A7CB9C),amirzain,129
-
または、任意のコマンドを使用して、sed
2列目の最後のハイフン()の前のすべての項目を削除したいと思います。
答え1
「列2の最後のハイフン(-)の前にあるすべての項目を削除したい」という質問の内容が本当に必要な場合は、次のコマンドを使用できます。
$ awk '{sub(/.*-/,"",$2)}1' file
4857544398A7CB9C(HWTC98A7CB9C); amirzain; 129
2列目の最後のハイフンの前のすべての項目を削除してセミコロンをコロンに変更するなど、出力を表示するには、次のコマンドを使用しますamirzain
。Amirzain
$ perl -lne '@F=split(/; /); $F[1] =~s/^.+-(.)/\U$1/; print join ",",@F' file
4857544398A7CB9C(HWTC98A7CB9C),Amirzain,129
答え2
使用アッ:
awk 'BEGIN{FS=";";OFS=","}{n=split($2, seq, "-");$2=seq[n];print}' <file>
出力:
4857544398A7CB9C(HWTC98A7CB9C),amirzain, 129
答え3
A
2番目の列の大文字は偶然であり、,
出力の置き換えは意図的なものであると仮定します。;
echo '4857544398A7CB9C(HWTC98A7CB9C); AHH-ABN-19-2-59-0720000000-amirzain; 129'|sed -r 's/^([^;]+); .*-([^;]+); (.*)/\1,\2,\3/'
4857544398A7CB9C(HWTC98A7CB9C),amirzain,129
ファイル全体で使用するには、i
sedのフラグにaを追加します。
sed -ri 's/^([^;]+); .*-([^;]+); (.*)/\1,\2,\3/' file