タグ

shellに関するkathewのブックマーク (37)

  • Windowsでテキストファイルを行数指定で分割する

    大容量のテキストファイル(ログ等)を、扱いやすいサイズやすぐに開けるサイズに分割したい時があり、方法を調べたので紹介したいと思います。 ちなみにLinuxではsplitコマンドを使用すれば簡単に実施できます。 Linuxサーバで収集した資料をフロッピーディスクで移動したり、メールで転送したい場合があります。しかし、ファイルサイズが大きすぎて移動できない時は、ファイルを分割する必要があります。取得したログファイルが大きすぎる場合に、扱いやすいサイズに変更することにも使えます。 テキストファイルを行数指定で分割する PowerShellで、分割するテキストファイルが配置されているフォルダーに移動して、以下のように実行します。 $i=1; cat .\[分割対象ファイル] -ReadCount [分割行数] | % { $_ > [分割後ファイル名]_$i.txt;$i++ } コマンド実行例)

    Windowsでテキストファイルを行数指定で分割する
    kathew
    kathew 2022/11/18
  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 条件式

    JP1/Advanced Shell 5.2.2 条件式 条件式では,数値比較,文字列比較,ファイル属性,論理演算子および三項演算子を使用します。条件式の共通仕様を説明します。 testコマンドまたはletコマンドを使用して条件評価を行います。testコマンドは代替書式である[[]]を含みます。また,letコマンドは代替書式である(())を含みます。 testコマンドを使用して条件評価する場合,変数と演算子の間にスペースを入れてください。testコマンドの代わりに[[]]を使用する場合は,「[[」の直後と「]]」の直前にスペースを入れてください。 letコマンドの引数にtestコマンドの引数(-eqなど)を指定した場合,letコマンドは変数と解釈して動作します。 [[]]を使用して条件判定するときの使用例を次に示します。 [[]]で条件判定するときの使用例

  • シェル: コマンドの実行結果を変数に入れる方法

    シェルスクリプト等を作成する際に、文字列や数値ではなく、コマンドの実行結果を変数に入れたい場合があると思います。 ここではシェルでコマンドの実行結果を変数に入れる方法を紹介します。

    シェル: コマンドの実行結果を変数に入れる方法
  • for 文の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    for 文の使用方法 for 文とは? for 文は一定回数の繰り返し処理を行う場合に使用するループ制御文である。もしくはある値の集合に対して、それぞれの要素を処理するループ制御文である。 一般的には処理回数や、処理対象となる集合が明確な場合には for 文を使用する。その他の場合は while 文を使用することになる(シェルスクリプトでの for 文は決まった回数のループ処理というよりも、リストに対するループ処理といった方が正しいかもしれない)。 → ループに使用される値のリストと、値リストの各要素がループ毎に設定される変数を指定する。 for 文は値リストに指定された1つ目の値を変数に設定し、do と done の間の処理を実行する。処理後、同様にして値リストに指定された2つ目の値を変数に設定し、再び do と done の間の処理を実行する。3つ目以降も同様にして、全ての値リストが消

    for 文の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス

    if 文と test コマンド if 文とは? if 文とは、与えられた条件式が真のときのみ処理を行い、それ以外の場合は処理をスキップする、などといった場合に使用される条件分岐処理である。 条件式には一般的に test コマンドを用いるが、ls コマンドや grep コマンド等の他のコマンドを用いても構わない。 if 文は条件式に指定されたコマンドの終了ステータスを判定し分岐を行う。終了ステータスが「0」の場合は真、その他の場合は偽となる。 if 文 タイプ 1

    if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • https://x-tech.pasona.co.jp/media/detail.html?p=7450

  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルスクリプトで文字列と変数を連結する | クロジカ

    ホーム / ハック / シェルスクリプトで文字列と変数を連結する

    シェルスクリプトで文字列と変数を連結する | クロジカ
  • 【Shellスクリプト】変数と特殊変数について!

    変数とは、値(文字や数値)を入れて置くための箱です。 シェルでは、シュル変数によって値を一時的に保管しておくことが可能です。後で必要な時にシェル変数から値を取り出します。簡単に言うと、パソコンで処理をするときに、データを代入して効率的に処理をする箱といった認識で良いでしょう。 例えば、ユーザがOSにログインした時、起点となるディレクトリをホームディレクトリといいますが、これは$HOMEというシェル変数の値としてセットされています。いま無理におぼなくても、シェルを扱っているうちに、自然に覚えていくことになりますので、ご安心ください。 変数名についてのルール

    【Shellスクリプト】変数と特殊変数について!
  • mkdirでディレクトリが存在しない時だけディレクトリを作成する。

    ディレクトリを作成するコマンドmkdir ディレクトリを作成するコマンドは、mkdirです。 $ mkdir some_directory これでsome_directoryディレクトリができます。 既にディレクトリが存在するとエラー しかし、既にディレクトリが存在するとエラーになります。 $ mkdir some_directory mkdir: some_directory: File exists エラーが出てほしくないので、存在しない時だけ作成したいです。 if文を使って書く 単純に先に存在を確認してからmkdirすれば良いです。 if [ ! -e some_directory ]; then mkdir some_directory ; fi でも面倒くさいし、汚いです。 ぐぐってみました。 ぐぐったらすぐに出ました。 How to mkdir only if a dir do

    mkdirでディレクトリが存在しない時だけディレクトリを作成する。
  • 【シェルスクリプト】コメントの書き方

    コメント書き方 シェルスクリプト内にコメントを書く場合は、「#」を入力してからその後にコメントを書くという形式になり 「#」を入力した位置から行の最後までがコメントとして扱われます。 ただし、「"」(ダブルクォーテーション)や「'」(シングルクォート)で囲っている場合は、文字列として扱われてしまいコメント扱いにはなりません。 記述例 何種類かのパターンを記述して「comment.sh」というシェルスクリプトを作成しました。 行頭に「#」を記述して一行全部をコメントとする 行の途中に「#」を記述してコメントとする 「#」をダブルクォートで囲んでみる 「#」をシングルクォートで囲んでみる #!/bin/bash # # 1.行を全部コメントとする # echo "Hello World." # 2.行の途中からコメントとする echo "Hello World. # 3.ダブルクォートで囲んで

    【シェルスクリプト】コメントの書き方
  • BASHシェルスクリプトで「キー入力待ち」プロンプトを実装する | DevelopersIO

    BASHシェルスクリプト実行中に、 例えば下記のように表示させたい場面はよくあります。 実行しますか? (y or N): ここで人間が「y(あるいはYes)」と入力しないと先に進まない、問題があればNと入力して終了したり、CTRL+Cで強制終了させたり。 そんなプロンプト機能を実装してみます。 先にネタばらしをすると、全部readコマンドがやってくれます。 例1 : 「Hit enter key!」 単に実行を一時停止して、問題がなければエンター(リターン)キーを押すことで先に進むようなシェルスクリプトは、このようになります。 #!/bin/bash : (前段階の処理) read -p "Hit enter: " (続きの処理) : 単に「Hit enter: 」と表示して処理が一時停止します。エンター(リターン)キーを押せば先に進みます。 もし前段階の処理で何かしら問題が見つかれば、

    BASHシェルスクリプトで「キー入力待ち」プロンプトを実装する | DevelopersIO
  • PHP: exec - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • NYAOS - Wikipedia

    NYAOS (「にゃおす」と発音する)は Windows及びOS/2 用のフリーな日語拡張 UNIX ライクコマンドラインシェルである。command.com, cmd.exe に比べて多機能で、tcsh ライクなヒストリー機能、Tab による入力補完機能のほか、エイリアスや関数機能によるシェルスクリプトの実行など強力な機能を備える。 GPLライセンスの元で公開されている。その動作環境はメジャーバージョンによって異なる。 NYAOS 1.xx[編集] Nihongo Yet Another OS/2 Shell の略とされ、OS/2 の上で動作する。YAOS と呼ばれるOS/2用の米国製コマンドラインシェルを手として、CMD.EXE のラッパーとして開発された。 現在はメンテナンスは停止している。 NYAOS 2.xx[編集] Nihongo Yet Another OSes Shel

  • シェルスクリプト内で実行した cd コマンドをターミナルに反映させる方法を教わった - わからん

    シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい。シェルスクリプト内でふつうに cd しても、子プロセスで cd するだけ。exec cd すればいいだろうと思ったのですがうまくゆかず、はてな人力検索で質問しました。そこで、a-kuma3 さんという方に、最後に exec /bin/bash すればよい という、目から鱗なアイディアを教わったので、自慢しておきます。 シェルスクリプト内で実行した cd コマンドをターミナルに反映させたい - 人力検索はてな 検証/理解の確認として、ターミナルで echo $$ し、次のスクリプト dummy.sh を実行し、再度ターミナルで echo $$ してみました。いうなれば、ターミナルで直接向き合っているカレントプロセスをシェルスクリプトのプロセスに差し替える技。なるほど。感動しました。 #!/bin/bash cd /tmp

  • 配列を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 値のリストで変数を初期化する。 括弧内に値のリストを指定したものを変数に設定することで、その変数を配列として使用することができる。 ※ ksh の場合は set コマンドを使用して配列の設定を行う。括弧を使用した設定方法は使用できないこともあるので、ksh で配列を使用する場合は、set コマンドを使用する。 $ array=(111 "foo" 222 "bar" 333 "foobar") #↑配列に値を設定する。 $ echo $array 111 #↑インデックスを指定しない場合は、先頭の値のみが出力される。 $ echo ${array[@]} 111 foo 222 bar 333 foobar #↑全ての値を出力する場合は、インデックスに「@」を指定する。 ksh の場合は以下のように set コマンドを使用する。 $ set -A array 111 "foo" 222

    配列を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 【 sleep 】 指定された時間,停止する

    停止時間を指定する。数字の後に記号を付加することで時間の単位を変更できる。sは秒,mは分,hは時間,dは日を表す。

    【 sleep 】 指定された時間,停止する
  • if文でコマンド実行結果の戻り値を判定する - 四角革命前夜

    さてさて、またしてもシェルスクリプトです。 シェルスクリプトではコマンドを実行して、コマンドの戻り値によって処理を変えるなんてことがあるかと思います。 #!/bin/sh echo "$1" | grep 'a' if [ "$?" -eq 0 ] then echo 'has a' else # 英語自信ない echo 'has not a' fi このスクリプトの場合、$1に'a'が含まれていればgrep 'a'で一致する箇所があるということになるので、戻り値の$?は0となり、'has a'が表示されますね。 普通に書くならこれで良いのですが、set -eを指定した場合はどうするか…… そもそもデバッグ目的以外でset -eを使うのが正しいのかどうなのかはわかりませんが。(普通に使われてるのかな?) 上記の方法で書こうとしても、grep 'a'を実行して一致しなかった時点でスクリプトが

    if文でコマンド実行結果の戻り値を判定する - 四角革命前夜
  • シェルスクリプトでファイル存在確認 - fantasista_ikの日記

    bashの場合 「-e Liunx.txt」・・・Liunx.txtが存在しているか。 「-f Liunx.txt」・・・Liunx.txtが存在し、通常のファイルであるか。 「-r Liunx.txt」・・・Liunx.txtが存在し、読み取り可能であるか。 「-s Liunx.txt」・・・Liunx.txtのファイルサイズが0でなければ真。 - if [ ! -e Liunx.txt ]; then echo "Liunx.txtファイルがありません。" fi -

    シェルスクリプトでファイル存在確認 - fantasista_ikの日記