The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
ファイルシステムの最大のディレクトリを見つける GKnight シェルプログラミングとスクリプティング 8 2008年4月30日 08:58午後
最大のダンプデバイスが小さすぎる click007 AIX 4 2007年10月26日 05:08午前
ファイルの最大の発見 mohan705 シェルプログラミングとスクリプティング 15 2007年7月4日 02:34午前
5o最大のディレクトリ内のファイルを見つける igidttam ファイルシステムは、ディスクとメモリ 8 2007年5月16日 01:20午後
最大サイズのファイルの障害者 rameshparsa シェルプログラミングとスクリプティング 4 2005年11月22日 12:25午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年3月15日
jkl_jkl jkl_jkl is offline
登録ユーザー
  
 

参加日: 2007年8月
投稿: 46
最大のフィールドに、 awkは、ヘルプ

こんにちはすべて、

私のファイルは以下のようなものです:

コード:
$ cat max.txt
abcd:1982:a
efghij:1980:e
klmn:1923:k
opqrst:1982:o
私と、それに対応する行は、最大の最初のフィールドを確認する必要があります。すなわち、

出力は必要です:

コード:
efghij efghij:1980:e
opqrst opqrst:1982:o
HTH返答、
jkl_jkl
  #2固定リンク)  
Old 2008年3月15日
yunccll yunccll is offline
登録ユーザー
  
 

参加日: 2008年3月
投稿: 23
このコードを試してください:
コード:
#!/bin/bash

#constant
INFILE="max.txt"

#core script
awk ' BEGIN { OFS=FS=":"; cur=max=0; seen=""}
        {
           cur = length($1)
           if(cur > max ){
              seen = $1 " " $0
           }
           else if(cur == max){
              seen = seen "\n"  $1 " " $0
           }
        }
        END { print seen }'  $INFILE
#exit normally
exit 0
。アーロン
  #3固定リンク)  
Old 2008年3月15日
jkl_jkl jkl_jkl is offline
登録ユーザー
  
 

参加日: 2007年8月
投稿: 46
アーロン、

それだけを印刷

コード:
opqrst opqrst:1982:o
ではなく、

コード:
efghij efghij:1980:e
opqrst opqrst:1982:o
つまり、長い場合は2のフィールドは、印刷の最後の一です。
  #4固定リンク)  
Old 2008年3月15日
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
モデレータ
  
 

参加日: 2003年12月
場所:フロリダ州
投稿数:1916
ちょうど、 "最大\u003d最新版"の両方の行を追加するように印刷されていますします。

コード:
awk ' BEGIN { OFS=FS=":"; cur=max=0; seen=""}
        {
           cur = length($1)
           if (cur > max ) {
              seen = $1 " " $0
              max = cur
           } else if (cur == max) {
              seen = seen "\n"  $1 " " $0
           }
        }
        END { print seen }'  $INFILE
  #5固定リンク)  
Old 2008年3月15日
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

参加日: 2006年2月
場所:アルメリア、スペイン
投稿数: 393
もう1つのソル:
コード:
awk '{l=length($1);if(l>=max){a[$1" "$0]=l;max=l}}END{for(i in a)if (a[i]==max)print i}' FS=':' file
  #6固定リンク)  
Old 2008年3月16日
yunccll yunccll is offline
登録ユーザー
  
 

参加日: 2008年3月
投稿: 23
引用:
当初の投稿 jkl_jkl View Post
アーロン、

それだけを印刷

コード:
opqrst opqrst:1982:o
ではなく、

コード:
efghij efghij:1980:e
opqrst opqrst:1982:o
つまり、長い場合は2のフィールドは、印刷の最後の一です。
あ、ごめん、私\u003d最新版"と、返信時に入力私のコードは、 "上限を忘れてしまった!

。アーロン
  #7固定リンク)  
Old 2008年11月29日
bashisthebest bashisthebest is offline
登録ユーザー
  
 

参加日: 2008年11月
記事: 1
どのようにして、対応する行は、最低の場を見つけるのでしょうか?

こんにちは私はどのようにして、対応する行は、最低のフィールドには、反対の意味を見つけるだろうかwonderingだったのですか?

事前に感謝します。
Closed Thread

ブックマーク

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

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

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

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




すべてGMT -4です。現在の時刻は 12:55午前


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

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