逆引きシェルスクリプト/forループのサンプル
の編集
Top
/
逆引きシェルスクリプト
/
forループのサンプル
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * forループのサンプル [#na986ed8] シェルスクリプトのforループのサンプルを以下に記します。~ サンプル例としては、ある値からある値までのループ、ファイルの行単位のループ、コマンドから出力された文字列群をループなどを記述します。~ 尚、利用したシェルはbashになります。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#a4049d78] - [[逆引きUNIXコマンド/開始値から終了値までの数値を出力する方法・seqコマンド]] - [[逆引きシェルスクリプト/スペースが含まれる文字列を1行として扱う方法]] - [[逆引きUNIXコマンド/ファイルを除くディレクトリ一覧を取得したい]] - [[逆引きUNIXコマンド/テキストから改行を削除する]] * ある値からある値までのループ [#e9bcc171] 例えばi=0からi=10までのループをしたい場合のシェルスクリプトサンプルを以下に記します。 #ref(sample-1.sh) #/bin/bash for i in `seq 0 10` do echo i=$i done seqコマンドに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/開始値から終了値までの数値を出力する方法・seqコマンド]] 以下のように記述することもできます。 #ref(sample-2.sh) #/bin/bash for i in {0..10} do echo i=$i done * ファイルをリードし行単位でループする [#m79b9976] テキストファイルを行単位でリードして処理をしたい場合のループは以下のように記述します。~ 以下のテキストファイルを行単位でリードする例を記します。 $ cat 1.txt hello world konnichiwa sekai #ref(sample-3.sh) #!/bin/bash for l in `cat 1.txt` do echo l=$l done 1行内にスペースが含まれる場合は上記(sample-3.sh)では意図した動作になりません。~ これは、区切り文字としてスペースが有効になっているからです。~ 環境変数IFSの値を変更し1行内にスペースが含まれていても区切らないで行単位でリードするには以下のように記述します。~ IFS環境変数に関しては以下のリンクの記事を参照してください。 - [[逆引きシェルスクリプト/スペースが含まれる文字列を1行として扱う方法]] 以下のテキストファイルを行単位でリードする例を記します。(途中に半角スペースが含まれています。) $ cat 2.txt hello world konnichiwa sekai #ref(sample-4.sh) #!/bin/bash IFS_BACKUP=$IFS IFS=$'\n' for l in `cat 2.txt` do echo l=$l done IFS=$IFS_BACKUP * コマンドから出力された文字列群をループ [#i241c1ed] 内容的には上記と同じですがlsコマンドを使ってディレクトリのみ表示するサンプルスクリプトを以下に記述します。 以下のようなファイルとディレクトリが存在するlsコマンドの出力からディレクトリのみ表示します。 $ ls -F a.txt b.txt c.txt dir1/ dir2/ dir3/ ls -Fオプションに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/ファイルを除くディレクトリ一覧を取得したい]] trコマンドに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/テキストから改行を削除する]] #ref(sample-5.sh) #!/bin/bash for d in `ls -F | grep /$` do echo d=$d | tr -d '/' done * 複数のキーワードを設定しキーワード分ループする [#r8ee29e1] キーワードを指定すれば指定したキーワード分ループします。 #ref(sample-6.sh) #!/bin/bash for k in JPY USD RMB EUR do echo k=$k done 実行結果 $ ./sample-6.sh k=JPY k=USD k=RMB k=EUR #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * forループのサンプル [#na986ed8] シェルスクリプトのforループのサンプルを以下に記します。~ サンプル例としては、ある値からある値までのループ、ファイルの行単位のループ、コマンドから出力された文字列群をループなどを記述します。~ 尚、利用したシェルはbashになります。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 関連記事 [#a4049d78] - [[逆引きUNIXコマンド/開始値から終了値までの数値を出力する方法・seqコマンド]] - [[逆引きシェルスクリプト/スペースが含まれる文字列を1行として扱う方法]] - [[逆引きUNIXコマンド/ファイルを除くディレクトリ一覧を取得したい]] - [[逆引きUNIXコマンド/テキストから改行を削除する]] * ある値からある値までのループ [#e9bcc171] 例えばi=0からi=10までのループをしたい場合のシェルスクリプトサンプルを以下に記します。 #ref(sample-1.sh) #/bin/bash for i in `seq 0 10` do echo i=$i done seqコマンドに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/開始値から終了値までの数値を出力する方法・seqコマンド]] 以下のように記述することもできます。 #ref(sample-2.sh) #/bin/bash for i in {0..10} do echo i=$i done * ファイルをリードし行単位でループする [#m79b9976] テキストファイルを行単位でリードして処理をしたい場合のループは以下のように記述します。~ 以下のテキストファイルを行単位でリードする例を記します。 $ cat 1.txt hello world konnichiwa sekai #ref(sample-3.sh) #!/bin/bash for l in `cat 1.txt` do echo l=$l done 1行内にスペースが含まれる場合は上記(sample-3.sh)では意図した動作になりません。~ これは、区切り文字としてスペースが有効になっているからです。~ 環境変数IFSの値を変更し1行内にスペースが含まれていても区切らないで行単位でリードするには以下のように記述します。~ IFS環境変数に関しては以下のリンクの記事を参照してください。 - [[逆引きシェルスクリプト/スペースが含まれる文字列を1行として扱う方法]] 以下のテキストファイルを行単位でリードする例を記します。(途中に半角スペースが含まれています。) $ cat 2.txt hello world konnichiwa sekai #ref(sample-4.sh) #!/bin/bash IFS_BACKUP=$IFS IFS=$'\n' for l in `cat 2.txt` do echo l=$l done IFS=$IFS_BACKUP * コマンドから出力された文字列群をループ [#i241c1ed] 内容的には上記と同じですがlsコマンドを使ってディレクトリのみ表示するサンプルスクリプトを以下に記述します。 以下のようなファイルとディレクトリが存在するlsコマンドの出力からディレクトリのみ表示します。 $ ls -F a.txt b.txt c.txt dir1/ dir2/ dir3/ ls -Fオプションに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/ファイルを除くディレクトリ一覧を取得したい]] trコマンドに関しては以下のリンクの記事を参照してください。 - [[逆引きUNIXコマンド/テキストから改行を削除する]] #ref(sample-5.sh) #!/bin/bash for d in `ls -F | grep /$` do echo d=$d | tr -d '/' done * 複数のキーワードを設定しキーワード分ループする [#r8ee29e1] キーワードを指定すれば指定したキーワード分ループします。 #ref(sample-6.sh) #!/bin/bash for k in JPY USD RMB EUR do echo k=$k done 実行結果 $ ./sample-6.sh k=JPY k=USD k=RMB k=EUR #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する
添付ファイル:
sample-1.sh
1512件
[
詳細
]
sample-2.sh
1352件
[
詳細
]
sample-3.sh
1197件
[
詳細
]
sample-4.sh
836件
[
詳細
]
sample-5.sh
822件
[
詳細
]
sample-6.sh
788件
[
詳細
]