The UNIX and Linux Forums  

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
はgrepを使用して日付形式 ali560045 シェルプログラミングとスクリプティング 4 2007年12月26日 08:59午前
はgrepを使用して日付形式 ali560045 シェルプログラミングとスクリプティング 8 2007年12月11日 06:39午後
どのようにしてC + +の自分自身のプロトコルを実装するための形式( Cコード)コードの準備 amitpansuria 高レベルのプログラミング 1 2007年9月7日 12:09午前
どのようにフォーマットは、 grepコマンド jasongr シェルプログラミングとスクリプティング 2 2005年11月18日 02:07午後
方法については、形式番号/ kshの文字列 GNMIKE シェルプログラミングとスクリプティング 2 2005年7月3日 04:44午後

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年10月1日
krishna.fuji krishna.fuji is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿: 5
Thumbs up はgrepをフォーマットして文字列を準備

やあ

私は、以下のような行をされているファイルがある

個人単位\u003d AU003 (産業用製品部門)は、工場\u003d B00089 、 Departmant \u003d D110

いつまで大丈夫ラインsith個人単位の起動と工場部門のように私はこのラインのフォーマットを選択する必要が含まれて

個人単位\u003d AU003
工場\u003d B00089
Departmant \u003d D110
- >メモリ: AU003 : B00089110 :システムの日付:ファイルのヘッダー

私は使用 セッド

セッド - e 'を/個人単位/ ( ;時間;秒/^/#/ p ;のX ; ) ' - e 'を/ビジネスユニット/ (秒/工場/ \ nPlant / gに' - e 'を秒/ Departmant / \ nDepartmant / gの' )ファイル名

しかし、それは私のすべてが必要ではないfullfilling
いずれかのことをお勧めすることができますしてください
  #2固定リンク)  
Old 2008年10月2日
Franklin52 Franklin52 is online now Forum Staff  
モデレータ
  
 

参加日: 2007年2月
投稿数:4318
awkは次のようにもすることができます:
コード:
awk -F, '/^Personal Unit=/&&/Plant/&&/Departmant/{sub("\(.*\)","")}{print $1 OFS $2 OFS $3}' OFS="\n" file
よろしく
  #3固定リンク)  
Old 2008年10月2日
drl's Avatar
drl drl is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年4月
場所:サンパウロ、分アメリカ/ BSDのは、 CentOSのは、 Debianで、 OS X 、 Solarisの
投稿数: 712
やあ。

私は次のように、サブ変更するには、見積もりから大幅に削減する必要がありました:
コード:
#!/usr/bin/env sh

# @(#) user1    Demonstrate 2-level parsing with awk.

#  ____
# /
# |   Infrastructure BEGIN

set -o nounset
echo

## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -

## Use local command version for the commands in this demonstration.

set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset

echo

FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE

# Use nawk or /usr/xpg4/bin/awk on Solaris.

# |   Infrastructure END
# \
#  ---


echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE

exit 0
生産:
コード:
% ./user1

(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4

 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110

 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110
歓声、 drl
  #4固定リンク)  
Old 2008年10月3日
krishna.fuji krishna.fuji is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿: 5
には、正確な出力を我々の予想通り

引用:
当初の投稿 drl View Post
やあ。

私は次のように、サブ変更するには、見積もりから大幅に削減する必要がありました:
コード:
#!/usr/bin/env sh
 
# @(#) user1    Demonstrate 2-level parsing with awk.
 
#  ____
# /
# |   Infrastructure BEGIN
 
set -o nounset
echo
 
## The shebang using "env" line is designed for portability. For
#  higher security, use:
#
#  #!/bin/sh -
 
## Use local command version for the commands in this demonstration.
 
set +o nounset
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk
set -o nounset
 
echo
 
FILE=${1-data1}
echo " Input file $FILE:"
cat $FILE
 
# Use nawk or /usr/xpg4/bin/awk on Solaris.
 
# |   Infrastructure END
# \
#  ---
 
 
echo
echo " Results from awk:"
awk -F, '
/^Personal Unit=/ && /Plant/ && /Departmant/ {sub(/\(.*\)/,"")}
        {print $1 OFS $2 OFS $3}
' OFS="\n" $FILE
 
exit 0
生産:
コード:
% ./user1
 
(Versions displayed with local utility "version")
Linux 2.6.11-x1
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
GNU Awk 3.1.4
 
 Input file data1:
Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110
 
 Results from awk:
Personal Unit=AU003
Plant=B00089
Departmant=D110
歓声、 drl


こんにちは私はこのスクリプトで複数の行をしている。次第、即座に返すことを出す与えているの罰金刑。それを以下に記載されていない余分なラインより上。これを行う場合にはとても感謝しなければならない
  #5固定リンク)  
Old 2008年10月3日
krishna.fuji krishna.fuji is offline
登録ユーザー
  
 

参加日: 2008年10月
投稿: 5
引用:
当初の投稿 krishna.fuji View Post
こんにちは私はこのスクリプトで複数の行をしている。次第、即座に返すことを出す与えているの罰金刑。それを以下に記載されていない余分なラインより上。これを行う場合にはとても感謝しなければならない

newtrans @ [クリシュナテスト〜 ] $猫ram1
個人単位\u003d US003 (産業用製品部門)は、工場\u003d B00089 、 Departmant \u003d D110
これは私自身です
個人単位\u003d US003 (産業/製品部門)は、工場\u003d B00089 、 Departmant \u003d D110
私たちはmakfmkldfdする必要がある
個人単位\u003d US004 (消費者向け製品事業部)植物\u003d B00089 、 Departmant \u003d D1119
mdkmvckldmldm
これはいくつかのアイデアですが、ファイル内のデータのジャンク
個人単位\u003d US004 (消費者向け製品事業部) 、工場\u003d B00078 、 Departmant \u003d D111
個人単位\u003d US006 (機械メーカー部門)は、工場\u003d B00089 、 Departmant \u003d D1188
個人単位\u003d US007 (接着剤部門)は、工場\u003d B00089 、 Departmant \u003d D110
個人単位\u003d US009 (接着剤部門)
個人単位\u003d US010 (接着剤部門)

newtrans @ [クリシュナテスト〜 ] $ セッド - e 'を/個人単位/ ( ;時間;秒/^/#/ p ;のX ; ) ' - e 'を/個人単位/ (秒/工場/ \ nPlant / gに' - e 'を秒/ Departmant / \ nDepartmant / gの' ) ram1
#個人単位\u003d US003 (産業用製品部門)は、工場\u003d B00089 、 Departmant \u003d D110
個人単位\u003d US003 (産業用製品部門)
工場\u003d B00089
Departmant \u003d D110
これは私自身です
#個人単位\u003d US003 (産業/製品部門)は、工場\u003d B00089 、 Departmant \u003d D110
個人単位\u003d US003 (産業/製品事業部)
工場\u003d B00089
Departmant \u003d D110
私たちはmakfmkldfdする必要がある
#個人単位\u003d US004 (消費者向け製品事業部)植物\u003d B00089 、 Departmant \u003d D1119
個人単位\u003d US004 (消費者向け製品事業部)植物\u003d B00089
Departmant \u003d D1119
mdkmvckldmldm
これはいくつかのアイデアですが、ファイル内のデータのジャンク
#個人単位\u003d US004 (消費者向け製品事業部) 、工場\u003d B00078 、 Departmant \u003d D111
個人単位\u003d US004 (消費者向け製品事業部)
工場\u003d B00078
Departmant \u003d D111
#個人単位\u003d US006 (機械メーカー部門)は、工場\u003d B00089 、 Departmant \u003d D1188
個人単位\u003d US006 (機械メーカー部門)
工場\u003d B00089
Departmant \u003d D1188
#個人単位\u003d US007 (接着剤部門)は、工場\u003d B00089 、 Departmant \u003d D110
個人単位\u003d US007 (接着剤部門)
工場\u003d B00089
Departmant \u003d D110
#個人単位\u003d US009 (接着剤部門)
個人単位\u003d US009 (接着剤部門)
#個人単位\u003d US010 (接着剤部門)
個人単位\u003d US010 (接着剤部門)
newtrans @ [クリシュナテスト〜 ] $

どこまで私は、私はこの行の値の組み合わせを取得する必要があります午前分割に伴い
好き
- >メモリ: US007 : B00089110 : systendate : fileheader
結論です
どこに私を見つける
個人単位\u003d US007 (接着剤部門)は、工場\u003d B00089 、 Departmant \u003d D110
即座次の行である必要があります
個人単位\u003d US007 (接着剤部門)は、工場\u003d B00089 、 Departmant \u003d D110
個人単位\u003d US007 (接着剤部門)
工場\u003d B00089
Departmant \u003d D110

- >メモリ: US007 : B00089110 : systendate : fileheader

重要な個人単位で、工場、部では、 1つのラインでの組み合わせを行っている行をタッチするだけで、このスクリプトです
私のおかげで多くの場合はこの操作を行うことができます

編集krishna.fujiで最終; 2008年10月3日に 03:29午前..
  #6固定リンク)  
Old 2008年10月3日
danmero danmero is online now Forum Advisor  
  
 

参加日: 2007年11月
場所: 45.48から73.63
投稿数:1432
引用:
当初の投稿 krishna.fuji View Post
重要な個人単位で、工場、部では、 1つのラインでの組み合わせを行っている行をタッチするだけで、このスクリプトです
派手な色の詳細については、使用することは忘れて コードタグ ときに郵便番号、またはデータ。
コード:
awk -F, '{if(/Personal Unit/&&/Plant/&&/Departmant/){printf "# %s\n%s\n%s\n%s\n",$0,$1,$2,$3}else{print}}' file
  #7固定リンク)  
Old 2008年10月2日
danmero danmero is online now Forum Advisor  
  
 

参加日: 2007年11月
場所: 45.48から73.63
投稿数:1432
もう1つのAwkのソリューションを提供します。
コード:
awk -F'[(|,|)]' '/^Personal/{printf "%s\n%s\n%s\n",$1,$4,$5}' file
Closed Thread

ブックマーク

タグ
Linuxコマンド

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

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

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

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




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


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

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