「○○」という文字列を含むファイルをリスト化したい時は、以下のコマンドで。 毎回ぐぐってるので、いいかげんメモ。 ■ファイル名に「○○」という文字列が含まれているファイルのリストを取得。
最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、
Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2
条件式と繰り返しによるスクリプトの制御 条件判断 引数によって実行時にパラメータを与えることができるようになりました。次に欲しくなるのは、条件判断でしょう。つまり、特定の条件が満たされたときだけコマンドを実行するということです。このための構文が「if文」で、 という構造で使います。このうち「elif」はなくてもよいですし、好きなだけ繰り返すこともできます。また、「else」は使わない、あるいは1回だけ使えます。 ここで注意が必要なのは、条件が式ではなく文であることです。すなわち、一般的な真偽によって実行するかしないかを決定するのではないのです。では一体何をもって判断するのかというと、実行した文の「終了ステータス」です。 Linuxでは、あらゆる実行ファイルが終了時に自分自身を呼び出したプロセスに対して整数のコードを返します。これが終了ステータスで、普通は正常に終了したときに「0」を、エラー
TABを置換してCSVを作りたいとしよう。TAB置換には何を使いますか? sed/awk/tr/perl/ruby 色々と考えられる。 一番楽なのは tr tr '\t' ',' tr コマンドで文字を置換するのが多分楽 takuya@atom:~$ sudo atq | tr '\t' ',' 806,Wed Aug 6 19:47:00 2014 a www-data 848,Sun Aug 10 10:57:00 2014 a www-data 793,Tue Aug 5 16:57:00 2014 a www-data 821,Fri Aug 8 00:47:00 2014 a www-data 835,Sun Aug 10 03:27:00 2014 a www-data sed でやる場合1 sed s/"\t"/,/g \tを文字として囲う必要がある。 ただしTABもスペース
標題のテーマ、今までリダイレクト使ってまどろっこしいことしていた。 # sed -e "s/AAA/ZZZ/g" INFILE.txt > OUTFILE.txt # cp OUTFILE.txt INFILE.txt つまり、一度OUTFILE.txtに置換内容を吐き出してから、OUTFILE.txtをオリジナルのINFILE.txtに反映、とするやり方。しかし!-iオプションを使えば断然スマートにできることを今さら知る。 # sed -i -e "s/AAA/ZZZ/g" INFILE.txt これだけで、対象ファイルが上書き編集される。これにはちょっと感動。 以下のようにすればバックアップファイルもとってくれる。-iとダブルクォーテーションの間は詰める。 # sed -i".org" -e "s/AAA/ZZZ/g" INFILE.txt これをどういう時に使いたいかというと、通常の
シェルスクリプト入門として, 基本的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数
sedコマンドで連続するスペースを1つのスペースにする † sed -e 's/ */ /g' ファイル名 または cat ファイル名 | sed -e 's/ */ /g' s/の後ろの半角スペースは2つです。 実行結果 sakura@ubuntu-ppc:~$ cat data.txt HOKKAIDO AOMORI AKITA IWATE YAMAGATA MIYAGI FUKUSHIMA IBARAKI TOCHIGI GUNMA SAITAMA TOKYO CHIBA KANAGAWA NIIGATA NAGANO YAMANASHI SHIZUOKA sakura@ubuntu-ppc:~$ sed -e 's/ */ /g' data.txt HOKKAIDO AOMORI AKITA IWATE YAMAGATA MIYAGI FUKUSHIMA IBARAKI TOCHI
2023-04-25 逆引きUNIXコマンド 逆引きUNIXコマンド/ターミナルで動作するビジュアルなストレージ使用容量確認コマンド 2022-12-12 Ubuntu/GUI操作のWakeOnLAN・gWakeOnLan Ubuntu 2022-12-05 Ubuntu/Ubuntu22.04でデスクトップのアイコンのサイズを変更する手順 2022-08-25 Xubuntu/画面が勝手にオフされる場合の対処方法 2022-08-11 Xubuntu 2022-07-26 Linux環境設定/Windowsネットワークの名前解決と共有フォルダアクセス方法 2022-07-25 Xubuntu/Thunarでssh(sftp)接続しファイルブラウズする手順 2022-07-20 ソフトウェア/デスクトップ/Plankの設定画面を表示する ソフトウェア/デスクトップ ソフトウェア 2022-
awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基本動作 awkの基本動作は、とってもシンプルである。
データファイル処理に便利なUNIXコマンド (一部工事中、順次拡張予定) ここでは、データファイル処理に便利なUNIXコマンドの紹介を行います。 使用目的から探す - 実例集 - 複数のファイルをくっつけたい あるファイルの後ろに次のファイルを入れる場合 cat 単純にファイルの最初から順に行同士をくっつけてしまう場合 paste 特定の行を仲立ちとしてファイルをくっつける場合 join ファイルのある行を読み飛ばしたい awk ファイルの空行を読み飛ばしたい awk ファイルのある列とある列を用いて演算を行いたい awk ファイルの特定の文字を別の文字に変換(置換)したい sed データのフォーマットを揃えたい awk 1を01のように、頭にゼロをつけたい(ゼロプディング) 0.035を3.5E-2のように、指数表示にしたい、など。 ファイル名から、ディレクトリ名あるいは拡張子を取り除き
while 文の使用方法 while 文とは? while 文は「ある条件が成り立っている間のみ繰り返し処理を実行する」といった、不定回の繰り返し処理を行う場合に使用するループ制御文である。 一般的に処理回数が明確である場合には for 文を用いるが、処理回数が開始時点では不明確な場合はこの while 文を用いる。 while 文は始めに指定された条件式の終了ステータスを判定し、結果が真である場合のみループ処理を継続する。ループ毎に条件式を評価し真であれば処理を実行する。これを繰り返し、条件式が偽になった時点でループ処理をを終了する。 → 処理回数が開始時点では不明確なループ処理には while 文を使用する。 while 文にはループの継続条件となる条件式を指定する。条件式には test コマンドを使用するのが一般的だが、当然その他のコマンドも使用可能である。 while 文により条件
Q. awk '{print $9}'とかでUser-Agent丸ごと取り出したい とか思ったことない? Apacheのログ解析で。でもできないじゃない。例えば 192.168.0.1 - - [17/Apr/2014:11:22:33 +0900] "GET /index.html HTTP/1.1" 200 43206 "https://www.google.co.jp/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36"
現在、Red Hat Linux 9を利用しています。ホームディレクトリに「.bashrc」や「.bash_profile」というファイルがあるのですが、これは何でしょうか? ご質問にあるファイルは、どちらもユーザーのホームディレクトリに置かれ、シェルが起動するときに実行される初期化ファイルです。 シェルには、大きく分けて2つの役割があります。まず1つ目は、ユーザーがコマンドを実行するためのコマンドライン環境を提供し、ユーザーとOSの中枢であるカーネルとのインタフェースの役割を果たすことです。 もう1つは、ユーザーがログインを行った際に、環境を整えるためにさまざまなファイルを実行し、初期化を行うことです。初期化のために実行されるファイルはシェルの種類によっても異なり、今回ご質問にあるファイルはbash(Bourne Again SHell)が起動されるときに実行されます。 以下では、bas
2023-04-25 逆引きUNIXコマンド 逆引きUNIXコマンド/ターミナルで動作するビジュアルなストレージ使用容量確認コマンド 2022-12-12 Ubuntu/GUI操作のWakeOnLAN・gWakeOnLan Ubuntu 2022-12-05 Ubuntu/Ubuntu22.04でデスクトップのアイコンのサイズを変更する手順 2022-08-25 Xubuntu/画面が勝手にオフされる場合の対処方法 2022-08-11 Xubuntu 2022-07-26 Linux環境設定/Windowsネットワークの名前解決と共有フォルダアクセス方法 2022-07-25 Xubuntu/Thunarでssh(sftp)接続しファイルブラウズする手順 2022-07-20 ソフトウェア/デスクトップ/Plankの設定画面を表示する ソフトウェア/デスクトップ ソフトウェア 2022-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く