The UNIX and Linux Forums  

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
区切りのヘルプファイル garpal UNIXのダミー質問と回答のため 6 2008年3月28日 09:58午前
Awkの-区切りの出力 videsh77 UNIXの詳細&エキスパートのためのユーザー 1 2007年12月4日 10:41午後
作業タブ区切りのファイル shiroh_1982 シェルプログラミングとスクリプティング 1 2006年5月31日 03:31午後
区切りのファイルから末尾のスペースを削除する djkane シェルプログラミングとスクリプティング 6 2006年3月29日 07:11午前
UNIXでカンマ区切りファイルに変換するタブ区切りのファイル charan81 シェルプログラミングとスクリプティング 22 2006年1月20日 09:24午前

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

参加日: 2006年1月
投稿: 3
区切りのファイル

自分のファイルの形式を以下のように記録している。
" FSNAME_01102006B_input.csv " 、 10 、 "最初の名前、最後の名前" 、 "お客様"

どうすればこのラインと4つの変数に格納値を分割することができますか?

ありがとう
  #2固定リンク)  
Old 2006年1月10日
reborg's Avatar
reborg reborg is offline Forum Staff  
管理者
  
 

参加日: 2005年3月
場所:アイルランド
投稿数:4233
コード:
#! /usr/bin/ksh

OLD_IFS="$IFS"
IFS=","

while read field1 field2 field3 field4 ; do
    echo "field1=$field1 field2=$field2 field3=$field3 field4=$field4"
done < file

IFS="$OLD_IFS"
  #3固定リンク)  
Old 2006年1月10日
hrshah74 hrshah74 is offline
登録ユーザー
  
 

参加日: 2006年1月
投稿: 3
コンマ3分野の問題です

やあ
フィールドでのソリューションをコンマ3ネジ。
私は、スクリプトを実行するとき、私は以下が

フィールド1 \u003d " F000GB_01102006A_input.csv "フィールド2 \u003d 10 field3 \u003d "ロングビーチfield4 \u003d
アクセプタンス株式会社" 、 " F000GB "

私は以下のフォーマットをしたい
フィールド1 \u003d " F000GB_01102006A_input.csv "フィールド2 \u003d 10 field3 \u003d "ロングビーチ、
アクセプタンス株式会社" field4 \u003d " F000GB "
  #4固定リンク)  
Old 2006年1月10日
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
登録ギーク
  
 

参加日: 2003年12月
場所:メルボルン、オーストラリア
投稿数: 2,100
これは*非常に*あなたのオリジナルのポストを与えたのは、入力ラインに固有のものです。これは、最も効率的な解決策ではないが、それを使って作品を 入力供給

コード:
[root@MYAUSLV00100118 tmp]# cat ./foo.ksh
#! /bin/bash

while read line; do
    field1=`echo "${line}" | sed 's/^\([^,]*\),.*$/\1/'`
    field2=`echo "${line}" | sed 's/^[^,]*,\([^,]*\),.*$/\1/'`
    field3=`echo "${line}" | sed 's/^[^,]*,[^,]*,\(\"[^\"]*\"\),.*$/\1/'`
    field4=`echo "${line}" | sed 's/^[^,]*,[^,]*,\"[^\"]*\",\([^,]*\).*$/\1/'`
    echo "field1=${field1}"
    echo "field2=${field2}"
    echo "field3=${field3}"
    echo "field4=${field4}"
done < foo.csv

exit 0
[root@MYAUSLV00100118 tmp]# cat ./foo.csv
"FSNAME_01102006B_input.csv",10,"First Name, Last Name"," CUST"
[root@MYAUSLV00100118 tmp]# ./foo.ksh
field1="FSNAME_01102006B_input.csv"
field2=10
field3="First Name, Last Name"
field4=" CUST"
乾杯
ZB
  #5固定リンク)  
Old 2006年2月1日
hrshah74 hrshah74 is offline
登録ユーザー
  
 

参加日: 2006年1月
投稿: 3
ほぼ同じような形式

こんにちはzazzybob 、
これは以前、私は自分のポストに取り付け簡単なfomatで働いています。しかし、もし次のフォーマットのために働くことはありません。

" FSNAME_01102006B_input.csv " 、 10 、 " Firstr 、名前、最後に、名前" 、 " CUSTr名は"

最初の形式の違いがある... 2番目と3番目のコンマの後に余分なスペース。可能性のフィールドの値を取得するために、これらの記録はありますか?

よろしく
Closed Thread

ブックマーク

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

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

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

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




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


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

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