The UNIX and Linux Forums  
Helloやへようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
ファイル伊那各行の最後のデータの交換 jisha シェルプログラミングとスクリプティング 6 2008年8月4日 08:47午前
"とは、 UNIXファイルの行の最後の交換 は、オブザーバー シェルプログラミングとスクリプティング 2 2008年5月17日 06:20午前
未知のファイルにcharectersの行を置き換える malavm シェルプログラミングとスクリプティング 12 2007年7月26日 05:25午前
行区切り文字をファイルに置き換える johnemb シェルプログラミングとスクリプティング 10 2007年4月26日 08:38午前
ファイル内の最初の行または行を置き換える ひどい UNIXの詳細&エキスパートのためのユーザー 3 2006年6月28日 09:23午後

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年6月5日
maxmave maxmave is offline
登録ユーザー
  
 

参加日: 2008年4月
投稿: 21
ファイル内の行の交換-ヘルプ!

私は以下のコードに問題を抱えている...

コード:
while read line
do
   #Get Line Number 
   OLDLINE=`sed -n $Lineno $filename`
   echo "Un Changed Line : "$OLDLINE
   echo "Enter a New Pattern : "
   read NewPattern <&1
   echo "NewPattern :"$NewPattern 
   NEWLINE=`cat $filename | sed -n $Lineno | sed s/$OldPattern/$NewPattern/`
   echo $NEWLINE
   LINECHANGE=`sed s/$OLDLINE/$NEWLINE/ $filename`
   echo $LINECHANGE
   ChangedLine=`sed -n $Lineno $filename`
   echo "Changed Line : "$ChangedLine
done < $INT_FILE
私は、ファイルから行を読むことと、行を取得し、行のパターンを変更するとi午前試みを置き換える
在来線では、新しい行。

私は、次の行の問題を抱えている
コード:
LINECHANGE=`sed s/$OLDLINE/$NEWLINE/ $filename`
して、旧線新線では、ファイル内で変更されません。

またはを与えたが、コマンドを私は何の問題です私はそれを修正する必要がある場合

誰も助けてくれない。


ありがとう

Rahul

Yogesh Sawantの編集最終更新、 2008年6月5日に 02:06午前..理由:コードのタグを追加
  #2固定リンク)  
Old 2008年6月5日
jaduks's Avatar
jaduks jaduks is offline
登録ユーザー
  
 

参加日: 2007年8月
場所:アッサム、インド
投稿数: 166
これを参照してください:

コード:
$ cat ea.txt
root 1933 1923 localhost calm 32rhewr

$ A=root

$ B=ROOT

$ sed 's/$A/$B/g' ea.txt
root 1933 1923 localhost calm 32rhewr

**No change above

So use double quotes instead of single quote: 

$ sed "s/$A/$B/g" ea.txt
ROOT 1933 1923 localhost calm 32rhewr

So 

LINECHANGE=`sed s/$OLDLINE/$NEWLINE/ $filename`

should be something like this:

LINECHANGE=`sed "s/$OLDLINE/$NEWLINE/" $filename`
/ /ジャード
Closed Thread

ブックマーク

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

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

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

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




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


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

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