質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Q&A

解決済

1回答

559閲覧

シェルスクリプトの配列について

KOnaga99

総合スコア16

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

0グッド

0クリップ

投稿2019/03/01 15:49

シェルスクリプトの配列について、ダブルクォーテーションで囲った部分を別々で出力することは可能なのでしょうか?
下記は正しくない内容ですが、イメージとしては配列に検索ディレクトリと検索条件を
同じ変数に入れてfindで検索したいと考えております。

1 #!/bin/bash
2
3 DIR1=("/var/log *date +%Y%m%d" "/var/backup *date -d "1day ago" +%Y%m%d" )
4
5 for i in ${DIR1[@]}
6 do
7 find ${i[0,0]} -type f -name ${i[0,1]}
8 done

日付変数を別の変数に分ければ可能ですが、現場の方針としては一つの変数にディレクトリと検索条件を代入してforで回したいみたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コードは、コードブロック(入力エリアの上にある<code>というボタン)で囲ってください。

文字列の分解をしたいという事でしょうかね。

Bash

1#!/bin/bash 2 3DIR1=("/var/log *`date +%Y%m%d`" "/var/backup *`date -d '1day ago' +%Y%m%d`") 4 5for i in "${DIR1[@]}" 6do 7X=($i) 8find "${X[0]}" -type -f "${X[1]}" 9done

投稿2019/03/01 19:50

編集2019/03/01 23:04
otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KOnaga99

2019/03/02 01:07

ありがとうございました。需要がありそうでこのような方法が調べても出てこなかったので助かりました。
otn

2019/03/02 11:58

配列の質問だったので、配列でやりましたが、普通は、文字列の部分削除ですかね。 A="/var/log *20190101" B=${A% *} ・・・・ 空白以降を削除 C=${A#* } ・・・・ 空白以前を削除
KOnaga99

2019/03/03 13:06

ありがとうございます。この方法がすっきりしますね。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問