
No.1ベストアンサー
- 回答日時:
可能です。
if 〜 は 、コマンド 〜 の終了ステータスが0のときthen節、0でないときelse節となります。
ですから、「hoge1.txt 内に”Test"という文字列が別の行に2回登場するとき」0、そうでないとき0以外で終了するコマンド」を書けばいいのです。
例えば
・` (バッククオート)で括ると、「コマンドを実行した結果、出力された文字」を「文字列」にすることができます。
変数に入れたり、testコマンドの引数に使うことができます。
・ grep は検索パターンが見つかると0を返します。
wc -lの出力を「2に等しい(他の文字は入らない」というパターンでgrepすれば、判定できます。
そのままだと見つかった行が出力されてしまうので、-qで表示を抑制します。
grep -E 'Test' hoge1.txt | grep "2"
if [ $? -eq 1 ]; then
echo hello
else
echo bye
fi
でやってみたところうまくいきました。
ありがとうございました。
No.2
- 回答日時:
if [ "`grep 'Test' hoge1.txt | wc -l`" = "2" ]; then
echo hello
else
echo bye
fi
でよいような気も…。
# シングルクォートとバッククォートがあるので注意。
エスケープして
if [ "`grep \"Test\" hoge1.txt | wc -l`" = "2" ]; then
でもいいかも知れませんけど。
ご返答ありがとうございます。
教えていただいたようにやってみたのですが、うまくいきませんでした。
[]内に引数を設定していたからかもしれません。
でも、shell初心者の私としては大変勉強になりました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- PHP PHP MySql ページング 2 2022/09/20 06:38
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
コマンドプロンプトで表示が多...
-
VBユーザーフォームで時間入力
-
MATLABの関数をエクセルで使用...
-
VBA でshell関数を使ってコマン...
-
EEPROMのデータの初期化について
-
VBでのシリアル通信
-
入力待ち状態になるexeファイル...
-
コマンドプロンプトで文字入力...
-
Mac OS Xでのシステム・コール
-
シリアル通信でコマンドを送信...
-
デフォルトのショートカットキ...
-
Tera Term Proに関する質問です。
-
EXCELのVBAのコマンド...
-
【Teratermマクロ】文字列の一...
-
バッチファイルでキー操作を行う。
-
ディスクの空き容量を取得する...
-
HEXから元に戻すには
-
PowerShell実行結果をデスクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
VBA でshell関数を使ってコマン...
-
VBユーザーフォームで時間入力
-
【Teratermマクロ】文字列の一...
-
文字の点滅はどうやるのですか?
-
system関数でのシェル起動について
-
EEPROMのデータの初期化について
-
PowerShell実行結果をデスクト...
-
VBでDosコマンドを動かすには
-
ディスクの空き容量を取得する...
-
コンボボックス(最終行取得)
-
"伴われる"は正しい日本語ですか?
-
コマンドキーがないんですけど...
-
CreateProcessでの実行ファイル...
-
DOSコマンドでポートから受信
おすすめ情報