![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 1つのラインで複数の行を置き換える | siba.s.nayak | シェルプログラミングとスクリプティング | 3 | 2008年5月28日 03:43午前 |
| 1行を複数行に出力トランジスタを使用して | otes4 | シェルプログラミングとスクリプティング | 3 | 2008年2月18日 11:30午前 |
| 1行のパターンと一致する場合に複数の行を連結 | phixsius | シェルプログラミングとスクリプティング | 13 | 2008年1月24日 11:02午後 |
| で複数の120文字の行に長蛇の列を削除するsedスプリット? | jerome_1664 | シェルプログラミングとスクリプティング | 2 | 2006年8月17日 01:03午後 |
| 複数行に1行を分割する | thanuman | シェルプログラミングとスクリプティング | 4 | 2005年2月23日 04:56午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
こんにちはみんな、
私は助けが必要です。私は非常には、シェルレベルのプログラミングに新しいです。私はいくつかの条件を持つ複数の行には長い行を分割しようとしていた。私は、コードのゴーグルと一部抜粋を見つけて、それを変更しようとしたが、私が得たいくつかの奇妙な問題だ。 私は、行が120文字より長い行を分割することを私は"追加することで分離することが\ "第百二十の周りの文字の最後に。画定の位置だけでスペースやカンマで区切ることができるよう注意してください。そして、ここでそのためのコードです # ! / bin / shに Awkの' ( (長さ( $ 0 ) > 120 ) ( str \u003d $ 0 ; 私\u003d 0 ; 中(長さ( str ) > 120 ) ( はJ \u003d 0 ; (オス\u003d 1 ;メートル< \u003d 120 ;メートル+ + ) ( 手紙\u003d substr ( $ 0 、私+メートル、 1 ) ; # printf ( " % \ Ñ " 、文字) ; 場合(文字!\u003d",") それから その他の ( はJ \u003dメートル; # printf ( " % \ Ñ " 、 substr ( $ 0 、 1 、 j )は) ; ) Fiの 場合(手紙! \u003d " " ) それから その他の (はJ \u003dメートル; ) Fiの ) printf ( " % sを/ \ Ñ " 、 substr ( $ 0 、 1 、 j )は) ; 私+ \u003d j ; str \u003d substr ( $ 0 、私は、長さ( $ 0 ) ) ; ) 場合(長さ( str ) > 1 ) printf ( " % \ Ñ " 、 substr ( 2 、長さ( str ) ) ) str ;秒 ) その他の ( $ 0を印刷 ) ) ' myfile.txt しかし、私の問題は、投稿するためには、上記の条件に作業されている。もし私と同じで作業するために使用して式を後にして正常に動作されていません。 また、コンマやスペースをOR式を使用することができませんでした 私も同じ操作を戻すことができますが、プログラムが必要です。私もいくつかのチュートリアルを読む セッド 新規ユーザーにはかなりの混乱が見つかりました ![]() ![]() |
|
||||
|
旧çプログラマーだよね?ようこそ、高レベルの言語、そこを改革する必要はありません strlen すべてのプロジェクト。 男展開 perlの - ' PEを秒/ ( 。 ( 1119 ) [ 、 ] ) / \ 1 \ \ \ Ñ / gの' I 、またはについての質問を理解していない。何をしようとすると、それが仕事とはどのようですか? コード:
if (letter == " " || letter == ",") |
|
||||
|
やあ 回答いただきありがとうございます。 そう私はCとVBのではなく、これらのシェルレベルのプログラミングの仕事をしている。これらのプログラミングで私の主な問題はほとんど私のメッセージのエラーをすると、デバッグモードの状態をチェックすることはできません。 私は試したまたはロジックについて コード:
if (letter = " " -o letter = ",") として私はいくつかのチュートリアルを発見した。 と私はまた、私たちを使用するようにして等しい読む'シングル\u003d 'はC言語のように'\u003d\u003d'' + + このラインは私と同じ動作ですか? ? コード:
perl -pe 's/(.{1,119}[ ,])/\1\\\n/g'
これらのコードでは本当に何が起きているのを見つけることは困難です。私はいくつかのことを知っている 1 ) 、私たちが'を起動し、コマンドの最後に与えるために、文字列を処理する イ)すべての引数で区切る必要があります/ 私はこのコードからそれら以外のことを知らない ![]()
|
|
||||
|
(そしておそらくCシェル、シェルプログラミングのチュートリアルを読むされている場合には、アドバイスを丸括弧 もし -は、 BourneシェルのようなJavaのようなJavaScriptがかなり違って、全く無関係とは異なるのではない)が、書かれている場合は、プログラムには awkは これはすべて同じものではない言語を、 。どのようにしてDLLを別の言語で書かれたCプログラムから使用することができますを比較します。しかし、スクリプトでは、ソース2種類の言語で、多くの場合であることができます-あなたが頻繁に小さくする awkは または セッド または Perlの または はTCL または...シェルスクリプトで他のスクリプトは、シェルの構文や設備も十分なスペースの問題が一致しません。
その Perlの プログラムはあなたのスペックは何を想像すればいいのだ。それを見てみてください。 119 charactesそれ以下のスペースや、同じ文字列に加えて、バックスラッシュと改行をコンマが続くの倍数に置き換えられます。あなたにも同じことでした セッド または awkは、簡潔にあるとは言えないとして、主な概念をここにいる 正規表現は、これらの言語の施設をすべて提供しています。 (私はあなたVBでもそれがある、と考えて必要に応じてリンクすることができますCライブラリです。 )を読み取り、それは非常に便利な、多彩なツールであり、非常には特定の言語に依存しない。 |