計算されたパターンをファイルの行の先頭に移動します。

計算されたパターンをファイルの行の先頭に移動します。

入力する:

    1991/10/15,DFD.T/SDFDS.Z/9887/15MAR/DFC/I.X/918875797553.G/IUYT/1/453.H/LPJB
1991/10/15,DFD.T/RUDFR.Z/9887/15MAR/DFC/I.X/918875797554.G/IUYT/1/453.H/LPJB

期待される:

.X/918875797553.T/SDFDS,1991/10/15,DFD.Z/9887/15MAR/DFC/I.G/IUYT/1/453.H/LPJB
.X/918875797554.T/RUDFR,1991/10/15,DFD.Z/9887/15MAR/DFC/I.G/IUYT/1/453.H/LPJB

.X/followed value と .T/followed value は行の先頭に移動する必要があります。誰かが上記の問題に対する解決策を提案してください。私のファイルには何千行もありますが、それを同じ形式に変換したいと思います。

答え1

使用sedと2つの代替:

sed 's/\(.*\)\(\.T\/[^.]*\)/\2,\1/;s/\(.*\)\(\.X\/[^.]*\)/\2\1/' file

その後、.T/文字以外の文字が行.の先頭に移動し、,最初の置換項目に a が追加されます。
その後、2回目の交換では、文字では.X/なく文字の後の行の先頭に移動します.

関連情報