The UNIX and Linux Forums  


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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
1行のパターンと一致する場合に複数の行を連結 phixsius シェルプログラミングとスクリプティング 13 2008年1月24日 11:02午後
ファイルの値を連結 amitkhiare シェルプログラミングとスクリプティング 7 2007年10月9日 10:43午後
データの記録に静的な文字列を連結するファイル gillbates シェルプログラミングとスクリプティング 5 2006年6月22日 07:22午後
必要性を付加ライン/ファイル内の行の組み合わせの仕方... mr_manny シェルプログラミングとスクリプティング 2 2006年1月6日 06:45午後
ラインおよび書式を連結。 Tonka52 シェルプログラミングとスクリプティング 3 2004年12月1日 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年6月26日
srivsn srivsn is offline
登録ユーザー
  
 

参加日: 2005年12月
投稿: 32
一ファイルの2行を連結

やあ
私の要件を私はこのようないくつかのレコードを持つファイルです

ファイル名: : xyzを

1 \u003d 1
b \u003d 100,200
、 300400
、 500600
ç \u003d 700800
エ\u003d 900

私は自分のファイルを変更したい
1 \u003d 1
b \u003d 100200300400
ç \u003d 700800
エ\u003d 900

もし"でレコードを起動すると、 "は、スクリプトやコマンドラインは、以前の私の必要な出力ファイルを取得する必要がありますline.pleaseファローズ

ありがとう
  #2固定リンク)  
Old 2006年6月26日
matrixmadhan matrixmadhan is online now Forum Advisor  
Technoratiのマスター
  
 

参加日: 2005年3月
場所:Bのリーフノード+木
投稿数:2958
常によりよい解決策です。


コード:
#! /usr/bin/ksh

awk '{ if( $0 ~ /^,/ ) { printf "%s 1\n",$0 } else { printf "%s 0\n",$0 } }' file | while read
line ind
do
  if [ $ind -eq 0 ]
  then
     echo $var
     var=""
  fi
  var=$var$line
done
echo $var

exit 0

あなたの入力ファイルが
、 500600

私も、前の行に追加されるはず、と考えている

上記のスクリプトまたは/ p

コード:

a=1
b=100,200,300,400,500,600
c=700,800
d=900

  #3固定リンク)  
Old 2006年6月26日
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

参加日: 2006年2月
場所:アルメリア、スペイン
投稿数: 393
もう1つの方法:

コード:
while read LINE
do
echo ${LINE}|grep -qE "^,+"
if [ $? -eq 0 ] 
then
   echo "${LINE}\c"
else
   echo "\n${LINE}\c"
fi
done<input_file
echo

  #4固定リンク)  
Old 2006年6月26日
reborg's Avatar
reborg reborg is offline Forum Staff  
管理者
  
 

参加日: 2005年3月
場所:アイルランド
投稿数:4245

コード:
sed -e 'H;$!d;x;s/\n,/,/g' file > newfile

  #5固定リンク)  
Old 2006年6月27日
mbketan mbketan is offline
登録ユーザー
  
 

参加日: 2006年6月
投稿数: 9
は連結

もう1つの解決法:

私は猫tt ` `
する
場合、 [ ` $私|カットエコーc1 - 1 ` \u003d " 、 " ]
それから
prevline \u003d " $ $私prevline "
その他の
prevline $エコー
prevline \u003d $私
Fiの
完了した
prevline $エコー
  #6固定リンク)  
Old 2006年6月27日
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
脳たりん臨時
  
 

参加日: 2001年7月
場所: Portlandまたは、アメリカ合衆国
投稿数: 1,584
それをやって、別の方法:している

コード:
#! /bin/bash

while read line; do
 [[ $line == ,* ]] && {
  printf "%s" "$line"
 } || {
  printf "\n%s" "$line"
}
done; printf "\n"

リダイレクトとパイプからの入力を受け付け、他のほとんどありません。私は言うが、私のような セッド 上記の例。かなり気の利いた...
  #7固定リンク)  
Old 2008年7月17日
ca_sr2274 ca_sr2274 is offline
登録ユーザー
  
 

参加日: 2008年7月
投稿: 2
こんにちはすべて、

どのように1行でUnixシェルスクリプトを使用してレコードの2行を結合する。

ここではファイル形式:
最初の行
ABC0001 F0000000000677249 677
2行目です。
ABC00029980000 00000 USA0001099

私は次のように出力したい
ABC0001 F0000000000677249 677ABC00029980000 00000 USA0001099

1つのレコードには上記の2つの行をマージする必要があります。

してください。

ありがとう
ca_sr2274
Closed Thread

ブックマーク

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

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

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

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




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


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

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