0

テキストファイル(abc.txt)の2行の例:

    PMIP_TSD_2012120323.csv:03/12/2012,22:51:53,CAU TACS,TS,PPT4I_TS22,   AJAY,595959,P,Legal Exit,(6 0) AJAY,G1234567M,SERVICES P L,8401352W,  

    PMIP_TSD_2012111300.csv:12/11/2012,23:20:13,CAU TACS,TS,PPT4O_TS32,ARUMUGAM,620466,P,Legal Exit,(5 0) ARUMUGAM,G686W,SUPERSONIC SERVICES P L,1982W,  

すべての行をcsvファイル名ではなく日付で開始したいと思います。PMIP ...... csvを削除することを意味します:すべての行に対して。バッチファイルを使用してこれを行うにはどうすればよいですか?私は何百もの行を持っています、私はそれを手動でやりたくありません。私のファイル名はabc.txtで、D:\ Int\KGXにあります。

4

4 に答える 4

1

perl -npi -e 's/[^:]+://' /tmp/abc.txt収量:

03/12/2012,22:51:53,CAU TACS,TS,PPT4I_TS22,   AJAY,595959,P,Legal Exit,(6 0) AJAY,G1234567M,SERVICES P L,8401352W,  
12/11/2012,23:20:13,CAU TACS,TS,PPT4O_TS32,ARUMUGAM,620466,P,Legal Exit,(5 0) ARUMUGAM,G686W,SUPERSONIC SERVICES P L,1982W,  

あなたのデータから。お役に立てば幸いです...

于 2013-01-08T02:25:22.740 に答える
1

私はあなたに問題についての私の考えを与えることができます

この問題を解決するためにC++またはJavaを使用できます

  1. ファイルを開く
  2. ループでは、String変数の行を取得します
  3. SubString(またはある種の同様の関数またはユーティリティ)を使用して、最初のインデックス番号(この場合は23)を指定します
  4. サブ文字列を新しいファイルに保存します
  5. ループを終了します

新しいファイルはあなたが望むものであり、それが役立つことを願っています

于 2013-01-08T02:31:04.020 に答える
1

このバッチファイルはそれを行います:

@echo off
cd /D "D:\Int\KGX"
(for /F "tokens=1* delims=:" %%a in (abc.txt) do (
   echo %%b
)) > abc-NEW.txt
于 2013-01-08T04:50:02.987 に答える
0

これはそれを行う必要があります

setlocal enabledelayedexpansion
for /f "tokens=1,* delims=:" %%a in (abc.txt) do (
echo !date!:%%b >>new.txt
)
del abc.txt /f /q
ren new.txt abc.txt
于 2013-01-08T09:17:39.340 に答える