• ベストアンサー

Cシェルでのファイルからの入力について

seianの回答

  • seian
  • ベストアンサー率50% (16/32)
回答No.3

失礼致しました。Cシェルと書いてありましたね。 Cシェルはあまり使わないもので・・・。 以下のようにすれば良いようですよ。 #!/bin/csh foreach i (`cat filemei`) ls $i end

tack15
質問者

お礼

すごくシンプルな回答ありがとうございます。 まさしくこの方式で作成したいと思います。 助かりました。

関連するQ&A

  • シェルでファイルを読み込む

    csh を使っています。 ファイル hoge には1行に一つずつファイルの / からのパスが記されています。 hoge から 1行ずつファイルパスのリスト読み込んでそのファイルについて ls -al を行なった結果をファイル foo に保存したいのですが、どのようなシェルプログラムを作れば宜しいでしょうか? awk/sed も使える環境ですので、これらを使ったスクリプトでも構いません。 非常に初歩的な質問で申し訳ありませんが、宜しくお願いします。

  • Solaris7のCシェル文字数制限について

    Solaris7でCシェルスクリプトを使っています。 lsで拾ったファイル名をforeach文でまわしてみたのですが 文字数(ファイル数?)の制限に引っかかってしまいうまく回りません。 そこで質問なのですが、 Solaris7のCシェルforeach文で回せる文字数の限度をご存知の方いらっしゃいましたらご教授下さい。 宜しくお願い致します。

  • 【シェル】日付が最も古くサイズが小さいファイル削除

    ディレクトリ内のファイルで、日付が最も古い&(且つ)サイズが小さいものを削除するシェルを作成しようと考えています。 当初の以下のような考えをしていましたが、うまくいかないので質問しました・・・ ls -lStr(カレントディレクトリで日付が古くサイズが小さい順のつもり・・・) 上記のコマンド実行にて、 合計 100 -rwxr-xr-x 1 root root 333 2月 22 2009 java.log と表示されるのを利用し、上から2行目のファイル名を取得するためawkして『java.log』というファイル名をprintfで表示させ変数か何かに格納し、rmコマンドで削除という流れを考えていました。 よくよく考えると ・ls -lStr は本当に日付が古くサイズが小さいものでソートされているのか ・lsコマンドで表示した『2行目』という指定でファイル名の取得できるのか がよくわからなくなってしまいました。 上記の考え方よりこっちのほうが良い!やアドバイスがあれば非常に嬉しいです。 よろしくお願いしますm(__)m

  • シェルスクリプトで条件を指定してファイルの加工を行いたいのですが

    シェルスクリプトで条件を指定してファイルの加工を行いたいのですが シェルスクリプト(ksh)で、入力ファイルから条件に該当する行だけ抽出して出力したいと考えています。 ただ1つ条件があって、【awkは使用禁止】です。 処理としては ID00001,山田太郎,社員 ID00002,田中花子,社員 ID00003,中島次郎,派遣 というCSVファイルがあって、3列目の値が社員のものを抽出して ID00001,山田太郎,社員 ID00002,田中花子,社員 というファイルを出力したいのです。 下記のようなシェルになるとは思いますが手詰まりです。awkなら一瞬で終わるのですが、シェルだけですと3列目の抽出方法がよくわかりません。シェルに詳しい方、ご教示願えます。 while read line do if (3行目を抽出する条件); then print ${line} >> output.csv fi done < input.csv

  • [Kシェル] ファイル読み込み

    最近Kシェルを始めたばかりでつまづいています。 あるログファイルの行を取得して、 その行のn番目の値を合算したいです。 例:ログファイルの中身 1,1000,AAAA,10000, 2,1000,EEEE,1000, 3,1005,CCCC,1050, ※上記で4番目を合算する場合、  12050と出力したいです。 以前Cシェルを使用していたので、 foreachのような動きを考えていたのですが、 参考書を見ると効率的でない(readを使う) という記載がされています。 ログが数万行に達する可能性があるので、 効率的なやりかたを模索していますが、 何かよい方法がありますでしょうか。 よろしくお願いいたします。

  • 【シェル】whileコマンドについて

    【シェル】whileコマンドについて OS:Solaris10 SH:Bシェル お世話になります。 whileコマンドにてテキストから、先頭に"#"(シャープ)が付いている行と、 空白行以外を読み込ませたいです。 ところが、メイン処理にawkコマンドを入れると、テキストを読む時点で、 行全体ではなく、指定したフィールド内の文字列を読みにいくため、 "#"(シャープ)が付いている行を無視することができません。 ====== while.sh ====== #!/bin/sh while read LINE do echo $LINE | awk '{print $2}' done < list.txt | grep -v "^#" | grep -v "^$" ====================== ------ list.txt ------ 1 2 3 #4 5 6 7 8 9 ---------------------- ****** 出力結果 ****** 2 5 8 ********************** ** 出力させたい結果 ** 2 8 ********************** whileコマンドのオプション等で、テキスト内に特定の記号がある行は 無視して読み込ませる方法がありましたら、ご教授ください。 宜しくお願い致します。

  • C言語でテキストファイルのデータ処理

    はじめまして。 僕はC言語に関して全くの初心者です。 どうぞよろしくお願いします。 例えば、 1,0,0,7,6 2,0,0,5,5 3,1,0,4,9 : : のようなテキストファイル、test.txtがある時、 1行目の4カラム目(7)と5カラム目(6)を、 それぞれの行について差し引くプログラム、 つまり全ての行について4カラム目は7を引き、 5カラム目は6を引くプログラムの事で、 この例では、 1,0,0,0,0 2,0,0,-2,-1  3,1,0,-3,-3 : : となるようなプログラムを書き、結果を出力したいのですが、よく分かりません。 ちなみにawkで書いて実行すると、 (プログラム名はtest.awkとする) BEGIN{ i=0; } { while(i<1){ v3 = $4; v4 = $5; i++; } print $1,$2,$3,($4 - v3),($5 - v4); } 実行するプログラム↓ awk -f test.awk test.txt という感じなのですが…。 これを上述の様に、C言語でプログラムを書いて、 実行するには、例えばどのようなプログラムを書けば いいのでしょうか? なにぶん初心者のため、分からない事だらけですが、 よろしくお願いしますm(__)m

  • シェルでファイルが2Gを超えているかの判定は?

    posix shでファイルが2Gを超えているかの判定を行いたいです。 size=`ls -l FILE | awk '{printf $5}'` if [ $size > 2147483648 ] then echo "2G超え" fi で、出来るかと思いましたがシェルではこのif文が行えません。 全然違う方法でいいのですが なんとかファイルサイズが2G超えか判定する方法は ありますでしょうか?

  • シェルスクリプトでファイル名変更

    あるディレクトリにあるファイルの名前をシェルスクリプトで一括変更したいと思っています。 旧ファイル名 新ファイル名 apple   banana orange   lemon kiwi      melon strawberry apricot のように、新旧ファイル名(拡張子を除く)をタブで区切ってfilename.txtというファイルに入れてあります。ごらんの通り新旧ファイル名とも規則的ではありません。拡張子は新旧ともすべて.wavです。 awkもしくはreadでできるかなと思ったのですが、私の力ではできませんでした。お知恵を拝借できれば幸いです。(シェル初心者、使っているのはBシェルです)

  • シェルスクリプトについて。

    Bシェルを使って、下記の処理をしたいと思っているのですが 何をやっても上手くいきません;; 分かる方、是非アドバイスいただきたいです! WEBからawk,while等を調べて自分なりにつくってみましたが 文字列の抽出もできない状態です。 ------------------------------ テキスト内容(例) 氏名[タブ]住所[タブ]電話番号 ------------------------------- 上記のような、テキストから住所だけ、指名と住所だけ等の パターンで抜いて、別のシェルの引数として渡すといった処理が したいです。 別のシェルというのは、引数に与えられた内容を、別のファイルに 書き出すという仕組みですが、よくわかりません。 今までいっぱい行がある中から、ひとつひとつ手作業で引数に渡し てたのを、自動でやりたいです。 日本語がおかしい所があると思いますが、宜しくお願いします。