![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 新しい行の文字を削除するには | shihabvk | UNIXの詳細&エキスパートのためのユーザー | 7 | 2009年6月18日 08:44午前 |
| 削除する文字を削除するsed [ ' | manishabh | シェルプログラミングとスクリプティング | 2 | 2008年8月30日 12:28午前 |
| 余分な文字を削除する方法 | vsmurali | UNIXのダミー質問と回答のため | 7 | 2008年3月18日 12:57午後 |
| 行から1文字を削除しようとすると、 | Iz3k34l | UNIXのダミー質問と回答のため | 5 | 2007年7月7日 02:29午後 |
| ラインの最後の文字を削除する | danhodges99 | シェルプログラミングとスクリプティング | 4 | 2003年5月21日 10:30 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
すべての3行目(または改訂nawk )から最初の文字を削除する必要があります。
ここに私は2つのクエリを組み合わせ、ファイルサイズ: 284kの(例えば、出力)を開始していますが、データの コード:
3000877|555-55-1111|2|7/30/2008|TEST|P.O. BOX 1111|PALM DESERT|CA|92211||5555555555||||||||48|||1||1|3|||2|||||||||||||1|3||2|2 ||||2||9||3|1|2|2|2|1|3|0||5|2|||||||||88||3|2||3|2||||2|1|||6|5/31/2008|2||||9|AD|||42|42||||||Y|555-55-1111|SMITH|JOHN|||12 /23/1960|2|WH|||||||||Y 3000178|555-55-1112|2|7/23/2008|TEST|P.O. BOX 1112|TEMECULA|CA|92591||5555555555||||||||33|||1||1|3|||2|||||||||||||3|3||2| 2||||2||9||2|1|2|2|2|2|3|0||5|2|||||||||88|||2||3|2||||2|9|||||2||||9|A|||42|42||||||Y|555-55-1112|SMITH|JACK|||12/8/1975|2|BL| ||||||||Y 3000317|555-55-1113|2|7/29/2008|TEST|P.O. BOX 1113|MORENO VALLEY|CA|92556||5555555555||||||||55|||1||4|1|||2|||||||||||||1|3||2|2|||| 2||9||1|0|2|2|2|2|3|0||5|2|||||||||88|||2||3|2||||2|9|||||2||||9|A|||42|42||||||Y|555-55-1113|SMITH|JOE|||11/28/1953|2|AO||||||| ||Y それから私は、 \ nとは次のnawkスクリプトを実行する必要があるの# 103 、 # 120のエントリをした。 ( nawk - fをスクリプト> filename1 ) コード:
[
BEGIN {
FS="|"
}
{
OFS="|"
}
{
print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,
$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,
$41,$42,$43,$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56,$57,$58,$59,$60,
$61,$62,$63,$64,$65,$66,$67,$68,$69,$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$80,
$81,$82,$83,$84,$85,$86,$87,$88,$89,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99,
$100,$101,$102,$103,"\n",
$104,$105,$106,$107,$108,$109,$110,$111,$112,$113,$114,$115,$116,
$117,$118,$119,$120,"\n"
}
END {}
nawkスクリプトの出力(すなわちfilename1 ) : コード:
3000877|555-55-1111|2|7/30/2008|TEST|P.O. BOX 1111|PALM DESERT|CA|92211||5555555555||||||||48|||1||1|3|||2|||||||||||||1|3||2|2 ||||2||9||3|1|2|2|2|1|3|0||5|2|||||||||88||3|2||3|2||||2|1|||6|5/31/2008|2||||9|AD|||42|42||||||Y| |555-55-1111|SMITH|JOHN|||12/23/1960|2|WH|||||||||Y| 3000178|555-55-1112|2|7/23/2008|TEST|P.O. BOX 1112|TEMECULA|CA|92591||5555555555||||||||33|||1||1|3|||2|||||||||||||3|3||2| 2||||2||9||2|1|2|2|2|2|3|0||5|2|||||||||88|||2||3|2||||2|9|||||2||||9|A|||42|42||||||Y| |555-55-1112|SMITH|JACK|||12/8/1975|2|BL|||||||||Y| 3000317|555-55-1113|2|7/29/2008|TEST|P.O. BOX 1112|MORENO VALLEY|CA|92556||555555555||||||||55|||1||4|1|||2|||||||||||||1|3||2|2|||| 2||9||1|0|2|2|2|2|3|0||5|2|||||||||88|||2||3|2||||2|9|||||2||||9|A|||42|42||||||Y| |555-55-1113|SMITH|JOE|||11/28/1953|2|AO|||||||||Y| この問題は、各エントリの3番目の行では、 nawkスクリプト(すなわち| )と、さらに最初の文字がパイプを挿入し、それは私のインポートの要件には多大な混乱を引き起こしている。今すぐしようとしましたが、様々な セッド 成功せずにすべての3行目の最初の文字ベースのファイル全体を除去する方法、悲しい。最後に、私は成功せず、すべての試みは、追加のパイプ文字を除外するには、 nawkスクリプトを修正しました。 コード:
|555-55-1113|SMITH|JOE|||11/28/1953|2|AO|||||||||Y| にする必要があります: コード:
555-55-1113|SMITH|JOE|||11/28/1953|2|AO|||||||||Y| レビューは、真の考えや提案を歓迎している。 ありがとう! |
|
||||
|
ここには、出力: コード:
3000877|555-55-1111|2|7/30/2008|TEST|P.O. BOX 1111|PALM DESERT|CA|92211||555555555||||||||48|||1||1|3|||2|||||||||||||1|3||2|2 ||||2||9||3|1|2|2|2|1|3|0||5|2|||||||||88||3|2||3|2||||2|1|||6|5/31/2008|2||||9|AD|||42|42||||||Y| ^H|555-55-1111|SMITH|JOHN|||12/23/1960|2|WH|||||||||Y| ^H |
|
||||
|
引用:
コード:
BEGIN { FS = OFS = "|" }
{
print $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,
$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,
$29,$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,
$42,$43,$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,
$55,$56,$57,$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,
$68,$69,$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$80,
$81,$82,$83,$84,$85,$86,$87,$88,$89,$90,$91,$92,$93,
$94,$95,$96,$97,$98,$99,$100,$101,$102,$103
print $104,$105,$106,$107,$108,$109,$110,$111,$112,$113,
$114,$115,$116,$117,$118,$119,$120
print ""
}
最初の 印刷\u003d " " として、追加/不要な改行(すなわち、セパレータを作成された文)を削除しました。 ありがとうございました! |
|
||||
|
この教えてこの作品を素晴らしい..... ....
Awkの' ( もし( NR % 3 ! \u003d 0 ) ( 印刷 ) その他の ( ( ⅰ \u003d 1 ;のi < \u003dのNF ;私+ + ) ( 場合、 ( 1 \u003d\u003d 1 ) ( printf ( " % " 、 substr ( $ 1,2 、長さ( $ 1 ) -1 ) ) ) その他の ( printf ( " % " 、 $ 1 )秒 ) ) printf " \ Ñ " ) ) 'ファイル 編集vijay_0209で最終; 2008年10月7日に 01:09午前.. |