• 締切済み

Cシェルの文字列操作について

初心者ですが、Cシェルで、 最大7バイトの文字列('25'とか'1234567')を左空白埋めで表示したいのですがどうしたらよいでしょうか。 (7 - (文字列のバイト数))×空白 + 文字列 ??

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

とりあえず、awkを使うという手があります。 ご参考まで。 # cat dat 1 22 333 4444 55555 666666 7777777 # cat dat | awk '{printf("%7s\n", $1)}' 1 22 333 4444 55555 666666 7777777 ↑ 実際は7文字右詰になっているけど、ブラウザ画面上では前の空白が表示できない...(泣)

ken_ishi
質問者

お礼

ご回答ありがとうございます。 実際ターミナル上で確認したところ左空白埋めになりました。

関連するQ&A

  • Cシェルで、文字列中(str)に、固定文字列(abc)の数を数える方法

    Cシェルで、文字列中(str)に、固定文字列(abc)の数を数える方法を教えてください たとえば、 set str = abcdabceabcd set abc = abc str中に、abcを現れる数(3)を求める方法を教えてください Cシェルは詳しい方がいらっしゃいましたら、是非教えてお願いいたします

    • ベストアンサー
    • AJAX
  • Bシェルでファイル中の文字列置換の方法について

    Bシェルで複数のファイルを読み込み、 ファイル中のデータの先頭から6バイトがある特定の文字列の場合はそのままで、特定の文字列以外は空白に置換して出力したいのですが、 どのようにすればよいのでしょうか? お手数ですが、ご教示ください。

  • シェル(ksh)で変数にある文字列を取り出す

    お世話になります。 シェルで変数(例えば:OUT)に入っている文字列ついて2つ質問させてください。 1:変数に入っている文字列を後ろから何文字(固定長)取り出したい場合にどのようすればよいか教えてください。 試してみたのは以下です。 OUT1=abcde #変数OUT1に文字列abcdeを代入 OUT=${OUT1:3:(-1)} (固定長3バイト後ろから取り出したい(cde)) をファイルに書きこんで起動すると、上記の処理にいったところで、"置換が正しくありません"とでてしまいます。 2:変数に入っている文字列の文字数を取り出したい。 試してみたのは以下です。 OUT1=abcdec #変数OUT1に文字列abcdeを代入 OUT=${#OUT} これは、コマンドラインでecho ${#OUT}とすると6と文字数を表示してくれますが、ファイルに書きこんで起動すると上記同様"置換が正しくありません"と表示されてしまいます。 OSは、SUN OS 5.8です。 わかるかたがいらっしゃたら教えてください。 宜しくお願いします。

  • C# での文字列パディング

    ある文字列をバイト数でパディングするにはどうしたらよいでしょうか? 文字数でのパディングは、 str.PadRight(10,' ');  ↑で可能ですが、バイト単位でのやり方がわかりません。 よろしくお願いします。 環境:VisualStudio 2005 C#

  • Cシェルでの文字列大小比較

    Cシェルで set AA="aa" set BB="bb" if( $AA > $BB )then echo "$AA > $BB" endif というような判定がしたいのですが、 上記の場合、”if: 条件式構文が正しくありません”というエラーが出力されます。 Cシェルの場合、文字列の比較は ifでイコールかノットイコールかは判定できますが、文字コードの大小比較が出来ないようですが、 文字列の大小比較をするにはどうすればよいのしょうか

  • cシェルで指定行の文字列加工について

    cシェルで指定行の文字列加工について cシェルについて、以下のような加工をしたいのですがうまくいきません。 どなたか教えてください。 (1)1行目をMAX20byteになるように残りスペース埋め 最終行をMAX20byteになるように残りスペース埋め  A,000,000,000,000(改行)  ・(改行)  ・(改行)  ・(改行)  C,000,000(改行)        ↓  A,000,000,000,000 (改行)  ・(改行)  ・(改行)  ・(改行)  C,000,000 (改行) (2)1行目をMAX17byteになるように後半のスペースを削除   最終行を9byteになるように後半のスペースを削除   A,000,000,000,000 (改行)  ・(改行)  ・(改行)  ・(改行)  C,000,000 (改行)    ↓  A,000,000,000,000(改行)  ・(改行)  ・(改行)  ・(改行)  C,000,000(改行) すみませんが、よろしくお願いします(>_<)

  • エクセルの文字列操作

    (1)A列にファイル名(文字数任意)と拡張子(文字数任意)が入力されています。 fileAaa.exl fileBbbbb.exlx fileCc.doc fileDddd.docx (2)↑のデータからMID関数を使ってB列にファイル名 C列に拡張子を表示させたい 質問1. A列の拡張子"."の位置が左から何文字目かを知るための関数名を教えてください。 質問2. MID関数やBVA以外でもっと簡単にできる方法があればおしえてください。

  • 【Access2000】文字列の操作について

    Access2000で文字列の操作について質問です。 前任者が突然退職してしまったため、やり方が分からず困っています。。。 ■文字列の操作について 姓(フリガナ)と名(フリガナ)の文字列を下記仕様に変換したいと思います。 【変換前】   姓(フリガナ) 名(フリガナ)    ⇒全角カナで2つの項目に分かれている        【変換後】   姓名(フリガナ)    ⇒それぞれ半角カナに変換し、1つの項目に結合する    ⇒結合後のバイト長は30バイト、右詰で空白は半角スペースで埋める ■レコードのカウント処理について ・条件に合致したレコード数をカウント ・レコード数を右詰にし、前に0をつける(12バイト) Accessに詳しい方、ご返答いただけると助かります。

  • シェルで文字列を置換したい。

    UNIXのシェルであるファイルに書かれている文字から ある文字列を置換してそのファイルの中身を書き換えたいのですが どう書いていいのかわかりません。 ファイルを読み込んで該当の文字列を含んだ行を 見つけるところまではいったのですが・・・。 どなたか教えてください! よろしくお願いします。

  • 文字列操作についてもう一つ教えてください

    No.825262でエクセルの文字列操作について質問させていただいた者ですが、もう一つ教えていただきたいことがあります。 ある行のデータは、半角で最大30文字です。 実際に入力されているデータの文字数はまちまちなのすが、30文字に満たない部分を*で埋めるようにしたいのですが可能でしょうか。 例 123456789012345678901234567890 1234567890123456789012345678** よろしくお願いいたします。