行の一部を削除する方法は?

行の一部を削除する方法は?

ファイルセットから一部の行を削除する必要があります。

例示ライン:

TRN*1*301444/05-13-20*6549873211~

次のようにする必要があります(削除された部分/05-13-20)。

TRN*1*301444*6549873211~

最後のアスタリスクまでのスラッシュを削除し、ファイルに新しい行を保持する必要があります。

答え1

そしてsed

sed -n 's_/[^*]*__p'
  • /[^*]*/uto部分を次に一致させ、*置換に空の文字列を使用したので、nullに置き換えます。

例:

% sed -n 's_/[^*]*__p' <<<'TRN*1*301444/05-13-20*6549873211~'
TRN*1*301444*6549873211~

答え2

正規表現を使用してこれを実行できます。ほとんどの言語で提供されていますが、真珠~である正規表現リーダー。正規表現を使用して目的の操作を実行する方法はいくつかありますが、次は例です。

perl -pi -e 's/\/.*\*/*/g' file.txt

関連情報