重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

unixでユーザ変数の一部分を切り出すようなコマンドってありますか?
sqlのsubstrのようなイメージです。
substr(sampleX,1,1)のように変数の中身の一部を見たいのですが。。。

A 回答 (3件)

#1です。


cshはスクリプトを書くには向かないです。

ファイルの2文字目だけ取り出すなら、awkなら
awk '{print substr($0,2,1)}' filename.txt
cutを使うなら、
cut -c2 filename.txt
    • good
    • 0

区切りの場所(先頭からのバイト数)か区切り文字が決まっていれば、cutコマンドですかね。



cat hoge | cut -d':' -f1

みたいな感じ。
    • good
    • 0

シェルがbashなら、



sampleX=abcdefg
echo ${sampleX:0:1}
で、先頭の1文字が取り出せます。${変数名:開始位置:長さ} です。

外部コマンドでやるなら、awk で、substr 関数を使うのがわかりやすいでしょう。
awk -v x="$sampleX" 'BEGIN{print substr(x,1,1)}'

この回答への補足

できればcshで教えてください。m(__)m

補足日時:2005/11/15 22:01
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
言い忘れましたが、私unix初心者です。
awkでsubstr関数を使うことってできたんですね!
ちなみに質問では変数sampleXとしましたが、ファイルからも同じようにはできますか?
ファイルAの内容:ABCDEFG
として、Bだけを取り出したいとか。
すみません、また質問してしまって。

お礼日時:2005/11/15 22:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!