The UNIX and Linux Forums  

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
のファイルに複数の行を挿入 c0mrade シェルプログラミングとスクリプティング 12 2008年9月4日 05:04午後
複数のファイルを複数の行を追加する dayinthelife シェルプログラミングとスクリプティング 2 2008年6月4日 12:50午後
Awkのファイルから別の方法を使用して複数行をコピーするには? jisha シェルプログラミングとスクリプティング 3 2008年1月8日 01:04午前
ファイル内の複数の行を削除する必要があります。 kangdom シェルプログラミングとスクリプティング 6 2006年10月16日 12:02午後
複数の行は、既存のファイルに追加 hkhan12 シェルプログラミングとスクリプティング 5 2006年9月8日 12:11午後

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年2月13日
dala dala is offline
登録ユーザー
  
 

参加日: 2008年2月
投稿数: 7
ファイル内の複数の場所で取得した複数の行

私は、以下の行を含むファイルがある:

最初の行
2行目
3行目
何かをここに記述
何か他のここに行く
何かをここに記述
最初の行
2番目の行
3番目の行

私は、ファイルを移動し、次の行を取得して、このようになるはずの出力を印刷必要があります:

最初の行
2行目
3行目
最初の行
2番目の行
3番目の行

私はスタートを切るに役立ちます。私は使用whileループは、出力されていないが、何がほしい。
  #2固定リンク)  
Old 2008年2月13日
otheus's Avatar
otheus otheus is offline Forum Staff  
モデレータ翼モード
  
 

参加日: 2007年2月
場所:インスブルック、オーストリア
投稿数: 1,893
行をどのようにしてはと思っていない場合は知っていますか?

の場合、 3行を3行をスキップなどここで1つの方法だとしましょう(を使用して のGNU awkは) :


コード:
 awk '(int((FNR-1)/ 3))%2 == 0'  filename

  #3固定リンク)  
Old 2008年2月14日
dala dala is offline
登録ユーザー
  
 

参加日: 2008年2月
投稿数: 7
引用:
当初の投稿 otheus View Post
行をどのようにしてはと思っていない場合は知っていますか?

の場合、 3行を3行をスキップなどここで1つの方法だとしましょう(を使用して のGNU awkは) :


コード:
 awk '(int((FNR-1)/ 3))%2 == 0'  filename
『 THX otheus 、私を使用しています` "あなたの質問に答えるためにはgrep ^最初の" ` 、 、私が続けると、上の" ^ 2つ目の"単語などにはgrepを発見した。
  #4固定リンク)  
Old 2008年2月14日
otheus's Avatar
otheus otheus is offline Forum Staff  
モデレータ翼モード
  
 

参加日: 2007年2月
場所:インスブルック、オーストリア
投稿数: 1,893
引用:
当初の投稿 dala View Post
『 THX otheus 、私を使用しています` "あなたの質問に答えるためにはgrep ^最初の" ` 、 、私が続けると、上の" ^ 2つ目の"単語などにはgrepを発見した。
わかりましたので、 " egrep "はもっと面白いの正規表現を使用することができます:


コード:
egrep "^(first|second|third) " infile.txt

それでも解決しない場合は、 awkは、ほぼ同じ構文で使用します:


コード:
awk "/^(first|second|third) /" infile.txt

  #5固定リンク)  
Old 2008年2月14日
ghostdog74 ghostdog74 is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2006年9月
投稿数: 2,558
引用:
当初の投稿 dala View Post
私はスタートを切るに役立ちます。私は使用whileループは、出力されていないが、何がほしい。

コード:
while  read -r line
do
    case $line in
        first*|second*|third* ) echo "$line";;
    esac 
done < "file"

  #6固定リンク)  
Old 2008年2月14日
otheus's Avatar
otheus otheus is offline Forum Staff  
モデレータ翼モード
  
 

参加日: 2007年2月
場所:インスブルック、オーストリア
投稿数: 1,893
引用:
当初の投稿 ghostdog74 View Post
コード:
while  read -r line
do
    case $line in
        first*|second*|third* ) echo "$line";;
    esac 
done < "file"
のように動作するはずですが、しかし私のように、はgrep / awkは、より効率的な解決策としているようだ。たぶんあなたのように、行は、ドル前後を二重引用符を置いてください:

コード:
case "$line" in

ksh 、 bashのでは、残りの最初の単語を解析することができます:

コード:
case "${line%% *}" in
   first|second|third) echo "$line";;
esac

  #7固定リンク)  
Old 2008年2月14日
ghostdog74 ghostdog74 is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2006年9月
投稿数: 2,558
引用:
当初の投稿 otheus View Post
ksh 、 bashのでは、残りの最初の単語を解析することができます:

コード:
case "${line%% *}" in
   first|second|third) echo "$line";;
esac

コード:
while read -r a b
do
 case $a in 
  ....
 esac
done

Closed Thread

ブックマーク

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

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

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

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




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


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

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