
シェルの初心者です。よろしくお願い致します。
cシェル(csh)で、リストをforeachで1行ずつ取得しているのですが、「*(アスタリスク)」の値があると「一致しません」とエラーで落ちてしまいます。
「*(アスタリスク)」も正常に読んで、ループを回すことはできないのでしょうか?
foreach FILE ( \"`/bin/cat リストファイル名`\" )
リストは「|(パイプ)」区切りにしてあります。
foreachで一行ずつ、読んでループしています。
ご存知の方は、お力をお貸し下さい。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
csh縛りというのは宿題か何かですか?そうじゃないなら、cshは機能が貧弱なのでプログラム的な処理には向きません。
shを使いましょう。#!/bin/sh
while read FILE
do ....
done < リストファイル名
>リストは「|(パイプ)」区切りにしてあります。
例えば、リストファイルの中身が、
A|B|100
X|Y|123
の様になっているとすると、
#!/bin/sh
IFS="|"
while read F1 F2 F3
do ....
done < リストファイル名
で、各フィールドを別々に取り出せます。
どうしてもcshでしないといけない理由があるなら、set noglobで*や?のファイルマッチを無効にすればエラーは出ません。
#!/bin/csh
set noglob
foreach FILE (`cat リストファイル名`)
echo "$FILE"
end
ただ、おわかりかと思いますが、これは「1行ずつ読んでいる」訳じゃないです。データの途中に空白やタブが無いという前提で同じ動作になりますが。
回答ありがとうございます。
宿題というのか、うちの会社がそういう風潮になっているもんですから・・・。
set noglob
で出来ました。
感謝です。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- UNIX・Linux Linuxのシェル関数を作成して要件を満たす方法 1 2022/11/19 20:33
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCの終了の仕方
-
<select size='7' multiple>...
-
プログラミングについて。 1つ...
-
ListBox 複数選択 で オートフ...
-
なぜⅰなのか?
-
「シにたい」って文字にして言...
-
Do ~ Loopの文字列条件
-
VBAコードでメッセージがうまく...
-
servletからjspへ戻った後のラ...
-
sscanfより速い方法について。
-
プログラミングの流れ図の問題...
-
【緊急】VisualBasicのマルチタ...
-
VBのFor構文の中で、Cのnextの...
-
JavaマルチスレッドでSleepを使...
-
組んだプログラミングの全体の...
-
VBA for i=1 to lastrow
-
COBOLプログラム
-
モンテカルロ法
-
USWCの使い方をおしえてください
-
このマクロの繰り返し?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
流れ図(フローチャート)が分か...
-
CSVファイルの特定の行だけを読...
-
範囲指定したセルを1つずつ飛...
-
VBAでの一時停止と再開の方法
-
乱数の桁数指定、または範囲指定。
-
VBA for i=1 to lastrow
-
VBAで3秒だけ時間を止めたい
-
vb.netです。2次元配列の要素を...
-
エクセルの当番表を作っていま...
-
vb.netからエクセル関数書き込み
-
DOSコマンドのループ内のTIMEコ...
-
「偶数・奇数の和」のフローチ...
-
GIFアニメをループさせたくない
-
Do whileでExitせず、ループの...
-
VB2010でCSVファイルの読み込み
-
【VBA】全て空白のセルの列の非...
-
アクティブセルから、A列最終行...
おすすめ情報