Go Back   UNIXおよびLinuxフォーラム > オペレーティングシステム > HP - UX
Googleのサイト



HP - UX HP - UXの(ヒューレットパッカードのUNIX )のHewlett - PackardのUNIXオペレーティングシステムの独自の実装、システムの五に基づい

Closed Thread
English Japanese Spanish French German Portuguese Italian を搭載 Powered by Google
 
スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2009年4月2日
登録ユーザー
 

参加日: 2009年3月
投稿: 22
どのようにファイルに重複する行を取得する

こんにちはすべて、

私は1つのシェルスクリプトを書いている。このスクリプトの出力ファイルのSQL出力している。

そのファイルには、私は複数のエントリ(重複行)を行っている行を抽出したい。
例えば、出力ファイルは、次の方法のようになります。

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
<SH12_MC30_CE_VS_NY_HIST_T>
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
397 44847
400 33653
401 46455
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
<SH12_MC30_CE_VS_NY_HIST_T_BKP>
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
397 44847
398 40107
399 39338
400 33653


この出力では、重複行のみの数値です。このファイルの行の値を想定し、それらの行は、重複する行を分離すると考えている。だから私は、うち1つ以上のエントリをしているが、この数字に関連しているファイルからにしてください。

誰も私のコマンドを教えてくださいすることができますか?
事前に感謝します。

よろしく、
Raghu 。
スポンサーリンク
  #2固定リンク)  
Old 2009年4月2日
...@...
 

参加日: 2004年2月
場所: NM
投稿数:6123

コード:
cat file1 file2 | \
   grep -v -e '^='  -e '^<' | \
   awk '{ arr[$0]++} END{ for (i in arr) { if(arr[i]>1) { print i}  }}' > newfile

猫にはgrepはgrep出力で、ファイル名のファイルを削除するには、はgrepは、ヘッダー行を削除します
  #3固定リンク)  
Old 2009年4月2日
登録ユーザー
 

参加日: 2009年4月
投稿: 44
引用:
当初の投稿 raghu.iv85 View Post
こんにちはすべて、

私は1つのシェルスクリプトを書いている。このスクリプトの出力ファイルのSQL出力している。

そのファイルには、私は複数のエントリ(重複行)を行っている行を抽出したい。
例えば、出力ファイルは、次の方法のようになります。

\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
<SH12_MC30_CE_VS_NY_HIST_T>
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
397 44847
400 33653
401 46455
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
<SH12_MC30_CE_VS_NY_HIST_T_BKP>
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
397 44847
398 40107
399 39338
400 33653


この出力では、重複行のみの数値です。このファイルの行の値を想定し、それらの行は、重複する行を分離すると考えている。だから私は、うち1つ以上のエントリをしているが、この数字に関連しているファイルからにしてください。

誰も私のコマンドを教えてくださいすることができますか?
事前に感謝します。

よろしく、
Raghu 。
このしてみてください


コード:
#!/bin/ksh
sort $1 > sortedfile
nawk '{ while (getline < sortedfile >0); array[n++]=$0; compare and remove non dup record here}'

  #4固定リンク)  
Old 2009年4月2日
登録ユーザー
 

参加日: 2009年3月
投稿: 22
こんにちは、ジム、


私ウルコマンドの2行目まで理解できなかった。
私は、 Awkの部分を理解することができませんでした。 Becoz私dontは、 Awkの機能を知っている。
しかし、それも取り組んでいる。非常には、ご利用いただきありがとうございます。 ' Awkの'がいいです。
Awkの代わりにそれを得るにはaother道を譲ることができます。

ありがとう&よろしく、
Raghunadh 。
  #5固定リンク)  
Old 2009年4月2日
vgersh99's Avatar
モデレータ
 

参加日: 2005年2月
場所:ボストン、修士
投稿数:5181

コード:
nawk '/^[0-9]/ {a[$0]++} END {for (i in a) if (a[i]>1) print i}' myOutputFile

  #6固定リンク)  
Old 2009年4月2日
登録ユーザー
 

参加日: 2009年3月
投稿: 22
こんにちはvgersh99 、

非常にウル返信いただきありがとうございます。
' nawk 'コマンドニースIDです。しかし、私は' Awkの' dont機能を知っている。ですから私は誰にこのコマンドを説明するカント私のスクリプトにしてこのコマンドを入れた。だから、私の代わりに'のAwkの'と'コマンドを提供してくださいすることができますnawk ' 。


事前のおかげで、

よろしく、
Raghu 。
  #7固定リンク)  
Old 2009年4月2日
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
 

参加日: 2007年12月
Location :ホーム17度のワールドチャンピオン、ボストンセルティックス
投稿数:1441
Wink アプローチを別の方法

私は最後に出力形式を処理するのAwkのみ使用されます。は特に気を付けの位置決めが必要になりますこれは、カットのコマンドでも、行われる可能性がある。



コード:
> cat file9
===============================================================
<SH12_MC30_CE_VS_NY_HIST_T>
===============================================================
397 44847
400 33653
401 46455
===============================================================
<SH12_MC30_CE_VS_NY_HIST_T_BKP>
===============================================================
397 44847
398 40107
399 39338
400 33653

> grep "^[0-9]" file9 | sort | uniq -cd
      2 397 44847
      2 400 33653

> grep "^[0-9]" file9 | sort | uniq -cd | awk '{print $2" "$3}'
397 44847
400 33653

また、必要に応じて実際にawkはしたくない

コード:
> grep "^[0-9]" file9 | sort | uniq -cd | tr -s " " | cut -d" " -f3-4
397 44847
400 33653

追加速い方法- >

コード:
> grep "^[0-9]" file9 | sort | uniq -d 
397 44847
400 33653


編集joeygで最終; 2009年4月2日に 01:38午後..理由:速い方法を追加
スポンサーリンク
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは オフ
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる オフ


その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
重複レコードを抽出する方法 bobbygsk シェルプログラミングとスクリプティング 5 2008年11月20日 11:31午前
列の値に基づいてファイルの重複行を削除する risk_sly UNIXのダミー質問と回答のため 7 2008年9月26日 07:26午前
awkは、すべての行を使用して複製する方法を見つけるに purvi シェルプログラミングとスクリプティング 7 2008年8月21日 02:34午後
どのようにファイルに重複する行を削除する vamshikrishnab シェルプログラミングとスクリプティング 5 2008年6月18日 午前11:00
ファイル内の重複行 infyanurag シェルプログラミングとスクリプティング 3 2008年5月22日 01:39午前



すべてGMT -4です。現在の時刻は 04:14午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
UNIXおよびLinuxのフォーラムコンテンツの著作権© 1993から2010。すべての権利Reserved.Ad管理で RedTyger

コンテンツ関連のURLで vBSEO 3.2.0