![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは。
コマンド置換は「$((...))」ではなくて「$(...)」(括弧は1重)でした。申し訳ありません。
これは「`...`」に比べて入れ子で何重にも実行できる点が有利です。
(ちなみに、bash でも「`...`」は推奨されない表記法です)
さて、ksh の機能だけを使ってご質問に真正面から取り組んでみます。
変数 var の文字数を調べ、1文字なら0パディングした結果を入れ直します。
case ${#var} in
1) var="0$var" ;;
2) ;; # 何もしない
esac
それでは。
No.3
- 回答日時:
こんばんは、satosaya さん。
お礼どうもありがとうございました。外部コマンドを使っていいのなら printf を使うのが
一番スマートだと思います。
ただそうなると欲が出てきて、AWK, Perl, Ruby などのスクリプト言語で
いろいろやりたくなってくるのですが(^^;
これは下の方々の回答の補足になりますが、ksh の機能だけを使って
変数 variable に格納された文字列の長さを知るには
「${#variable}」が使えます。ksh の機能を受け継いだ bash, zsh でも可能。
$ verylongword="floccinaucinihilipilification"
$ print ${#verylongword}
29
$ nagaitango="日本語はどうかな?"
$ print ${#nagaitango}
18
echo, `...` は ksh では「廃れた機能」として使わないほうがいいです。
それぞれ print, $((...)) を使ってください。
if, while などの条件では整数式を ((...)) で括って使ってください。
前回のご質問に関連して、任意の式を整数属性を持つ変数
intver に代入するには、「((intver=式))」あるいは「let intver=式」も使えます。
$ let day="09"
$ print $day
9
$ let anotherday='1 + 14'
$ print $anotherday
15
早く本が手元に届くといいですね。それでは。
No.2
- 回答日時:
Kシェルとは直接関係ないですが、外部コマンドを使っていいなら、
今回は数値が相手のようですからprintfコマンドでどうでしょう。
a=9
b=`printf "%02d" $a`
あたりで行けると思います。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.1
- 回答日時:
Kシェル自体に文字の長さを求める機能があるかどうかは判りませんが、以下の方法で取得が可能です。
---------------------------
moji="ABCDEFG"
len=`expr $moji : '.*'`
echo LEN=$len
echo $moji
----------------------------
コピー&ペースト時は、全角スペースを半角に変えて下さい。
exprは:の両端の文字を比較し先頭から何文字が一致したかを返します。この場合、右側に.*(正規表現)を指定すると無条件に全て一致したことになり、結果的に左側の文字の桁数が返ります。$lenが求める結果です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Java Java 南京錠 2 2023/02/04 11:46
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語で全角文字を扱いたいので...
-
VBA シート上にドロップダウン...
-
VisualStudio2022でC言語プログ...
-
shift_jisの文字コードを出力さ...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
C言語 exitの使い方
-
jsp~jspにhiddenを使って変数...
-
Excel-vba 文字列と変数を...
-
VBAでダブルコーテーション入り...
-
Java認定試験3級の問題です。 ...
-
excelの、ある数式内の{}の意...
-
long型のランダムな値を返す方法
-
スピンボタンで小数点
-
COLUMN(1:1)の意味を教え...
-
計算プログラムにおける無限大...
-
GPIBの応答について
-
VBA 1行で複数の代入を行った...
-
EXCEL/VBA 変数の値をクリップ...
-
VB6.0-整数と余りを求める
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
C言語で全角文字を扱いたいので...
-
Accessで文字列のバイト数読み込み
-
HTML5では文中の半角不等号はち...
-
アンダーバーとバックスラッシュ
-
VBA シート上にドロップダウン...
-
VC2008+Qtの文字化け
-
正規表現で英(大小)と数字を必...
-
Ruby 文字コード判別
-
Cpadで文字化け
-
文字列の引き渡し
-
文字数の多い単語だけ抽出(多...
-
セル内の一部文字列を消去のマクロ
-
rubyの正規表現について
-
shift_jisの文字コードを出力さ...
-
ruby 正規表現の日本語とアルフ...
-
Ruby(1.9)で2進表示として文...
-
Kシェルでの桁数取得
-
Ruby言語にて、全角カナ⇔半角カ...
-
C言語 exitの使い方
おすすめ情報