The UNIX and Linux Forums  


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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
新規のスクリプトは、サポートが必要な場合 newbie22102 シェルプログラミングとスクリプティング 2 2008年2月25日 11:08午前
スクリプトの仕方 james94538 シェルプログラミングとスクリプティング 2 2008年2月8日 07:36午後
AIXのシェルスクリプトやUNIXのシェルスクリプトの違い。 haroonec シェルプログラミングとスクリプティング 2 2006年4月12日 09:12午前
スクリプトの第一人者のpls AIX上のスクリプトを手伝っ thatiprashant シェルプログラミングとスクリプティング 1 2006年1月20日 07:58午後
KSHスクリプティング dstaller シェルプログラミングとスクリプティング 1 2005年11月16日 02:30午後

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

参加日: 2008年10月
投稿: 2
ヘルプが必要なスクリプト

親愛なるスクリプトの専門家、
リクエスト行に列の値を動かすのに私ガイド
例:
1ファイル:

1 、 AとBはC 、 d 、 eには、 F 、 gの時間
2のf 、 gの時間、私は、リットル

出力ファイル
1 、 AとBはC
1 、 d 、 eには、 F
1グラム、 hは
2のf 、 gの時間
2 、私は、リットル


awkは、実際に私を使ってみました セッド しかし残念ながら、私は結果を得ることができませんでした。

よろしく
ナニ
  #2固定リンク)  
Old 2008年10月10日
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
シェルプログラマは、著者
  
 

参加日: 2007年3月
場所:トロント、カナダ
投稿数:2372
引用:
当初の投稿 nani123 View Post
親愛なるスクリプトの専門家、
リクエスト行に列の値を動かすのに私ガイド

あなたの例の行に列を移動していませんが、行を分割します。

ここでは、シェルのソリューションです。

コード:
IFS=,
set -f
while read line
do
  set -- $line
  if [ $# -le 4 ]
  then
    print "$line"
  else
   a=$1
   shift
   while [ $# -gt 3 ]
   do
     printf "%s," "$a" "$1" "$2"
     printf "%s\n" "$3"
     shift 3
   done
   printf "%s," "$a"
   while [ $# -gt 1 ]
   do
     printf "%s," "$1"
     shift
   done
   printf "%s\n" "$1"
  fi
done < "$FILE"

ファイルが大きい場合には、ゆっくりとされ、同じロジックを使用する場合は、 Awkのスクリプトを変換する必要があります。
  #3固定リンク)  
Old 2008年10月10日
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
中毒
  
 

参加日: 2007年1月
場所: Варна 、 България /ミラノ、イタリア
投稿数:2926
使用nawkまたは/ usr/xpg4/bin/awk Solaris上:


コード:
$ cat file
1,a,b,c,d,e,f,g,h
2,f,g,h,i,l
$ awk -F, '{
  printf$1FS;c=0
  for(i=2;i<=NF;i++)
    printf$i (++c%3?i==NF?RS:FS:RS$1FS)
}' file
1,a,b,c
1,d,e,f
1,g,h
2,f,g,h
2,i,l

  #4固定リンク)  
Old 2008年10月13日
pkumar3 pkumar3 is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿数: 7
Plzコードを次のエラーを見つける

- fをカット7,34 - - D "は、 " first97col.CSV | awkは- Fを\ 、 ' (
( $ 2 !\u003d"") printf $ 1FS場合ç \u003d 0
( ⅰ \u003d 2 ;のi < \u003dのNF ;私+ + )
printf $ ( + + ç % 4 ?私のNF \u003d\u003d ?のRS :のFS :のRS $ 1FS ) Fiの;
) '

編集pkumar3で最終; 2008年10月13日に 09:41午前..
  #5固定リンク)  
Old 2008年10月13日
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
中毒
  
 

参加日: 2007年1月
場所: Варна 、 България /ミラノ、イタリア
投稿数:2926
引用:
当初の投稿 pkumar3 View Post
こんにちは私は似たような問題を抱えている。
ソースのファイル形式の一つです
1 、 AとBはC 、 d 、 eには、 F 、 gの時間
2
3のf 、 gの時間、私は、リットル
4
5メートル、 Ñ

と期待される出力ファイル
1 、 AとBはC
1 、 d 、 eには、 F
1グラム、 hは
3のf 、 gの時間
3 、私は、リットル
5メートル、 Ñ

私はこのメソッドを使用する
awkは- Fが、 ' $ 1 ! \u003d p1の( printf " % sは、 % 、 % 、 % \ Ñ " 、 $ 1 、 $ 2 、 $ 3 、 $ 4 ) $ 2 ! \u003d p2の( printf " % sは、 % 、 % sは秒秒、 % \ Ñ " 、秒$ 1 、 $ 5 、 $ 6 、 $ 7 、 $ 8 ; p1の\u003d $ 1 ;のP2 \u003d $ 2 ) '

ソースファイルではないcoloumnsのvarriableされ、 3000の長さの最大成長することができます。

コード:
perl -F, -nae'if($#F){s/((?:(?:.*?),){3}[^,]*)/$1\n$F[0]/g;print}' filename

  #6固定リンク)  
Old 2008年10月10日
ShawnMilo ShawnMilo is offline
登録ユーザー
  
 

参加日: 2006年6月
投稿数: 252
ここではかなり単純なPythonのアプローチ(テスト作業) 。


コード:
$ cat nani123.py 
#!/usr/bin/env python

input = open("temp.txt", 'r')

for line in input:

    line = line.rstrip()
    line = line.split(',')
    num = line[0]
    data = line[1:]

    while data:
        print num + "," + ','.join(data[:3])
        data = data[3:]

試験:


コード:
$ cat temp.txt 
1,a,b,c,d,e,f,g,h
2,f,g,h,i,l


$ python nani123.py 
1,a,b,c
1,d,e,f
1,g,h
2,f,g,h
2,i,l

  #7固定リンク)  
Old 2008年10月10日
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
中毒
  
 

参加日: 2007年1月
場所: Варна 、 България /ミラノ、イタリア
投稿数:2926
Perlの 不足しています:


コード:
perl -F, -pae's/((?:(?:.*?),){3}[^,]*)/$1\n$F[0]/g' file

Closed Thread

ブックマーク

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

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

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

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




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


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

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