1

Linux (Cento OS) には、削除したい一連の追加情報を含むファイルがあります。最初の までのすべての文字を含む新しいファイルを生成したい|

ファイルには次の情報が含まれています。

ALFA12345|7890
Beta0-XPTO-2|30452|90 385|29
ZETA2334423 435; 2|2|90dd5|dddd29|dqe3

予想される出力は次のようになります。

ALFA12345
Beta0 XPTO-2
ZETA2334423 435; 2

つまり、その文字の後のすべての文字|(含む) が削除されます。

この特定の要件を読み取っ File1て生成するスクリプトの提案はありますか?File2

4

4 に答える 4

5

試す

cut -d'|' -f1 oldfile > newfile
于 2013-05-17T12:10:04.577 に答える
3

そして、「ビッグ 3」を締めくくるために、ここにawkバージョンがあります。

awk -F\| '{print $1}' in.dat
于 2013-05-17T14:30:00.503 に答える
1

簡単な sed スクリプトを使用できます。

sed 's/^\([^|]*\).*/\1/g' in.dat 
ALFA12345
Beta0-XPTO-2
ZETA2334423 435; 2

ファイルにリダイレクトして、出力をキャプチャします。

sed 's/^\([^|]*\).*/\1/g' in.dat > out.dat
于 2013-05-17T12:13:01.583 に答える
0

そしてgrep

$ grep -o '^[^|]*' file1
ALFA12345
Beta0-XPTO-2
ZETA2334423 435; 2

$ grep -o '^[^|]*' file1 > file2
于 2013-05-17T14:55:52.677 に答える