つぶやきメモーLinuxコマンド篇【随時更新】
sed:テキストファイルをフィルター処理で編集
sedコマンドとは
- "Stream EDitor"の略です。
- 指定したファイルをコマンドに従って処理し、標準出力へ出力します。
- ファイル名を省略した場合は、標準入力からのデータを処理します。
書式:
sed [option] sed [option] (スクリプトコマンド) (入力ファイル)
sed の主なオプション
オプション | 長いオプション | 意味 |
---|---|---|
-i | --in-place | ファイルを直接編集する |
-e | --expression=(スクリプト) | スクリプト(コマンド)を追加する |
env:環境変数を一時的に設定しコマンド実行
envコマンドとは
- 環境変数に特定の値を指定して、後に続くコマンドを実行します。
env (環境変数名)=(値) (コマンド)
envの主なオプション
オプション | 長いオプション | 意味 |
---|---|---|
-i | --ignore-enviroment | 環境変数が設定されていない状態でコマンド実行 |
-u (変数名) | --unset=(変数名) | 指定した環境変数が設定されていない状態でコマンド実行 |
curl:手軽にHTTPリクエスト
curlコマンドとは
- 様々なプロトコルを使用して、データ転送を実行できます。
curl (リクエストURL)
curlの主なオプション
オプション | 意味 |
---|---|
-X | リクエストメソッドの指定 |
-H | ヘッダの変更 |
-d | コンテンツの変更 |
-v | 通信詳細の出力 |
-f | 終了コード変更*1 |
-o | レスポンスボディの出力先のパスを指定 |
-L | リダイレクトを有効にする |
使用例:
$ curl -v -H "content-type: application/json" -X POST -d'{"gohann":"suki", "oyatsu":"daisuki"}' http://sample.org/post * Trying xxx.xxx.xxx.xxx... * TCP_NODELAY set * Connected to sample.org (xxx.xxx.xxx.xxx) port xx (xx) > POST /post HTTP/1.1 > Host: sample.org > User-Agent: curl/7.64.1 > Accept: */* > content-type: application/json > Content-Length: 41 > * upload completely sent off: 41 out of 41 bytes < HTTP/1.1 200 OK < Date: Mon, 30 Mar 2020 xx:xx:xx GMT < Content-Type: application/json < Content-Length: 486 < Connection: keep-alive < Server: xxxxxxxx/xxxxxxxx < Access-Control-Allow-Origin: * < Access-Control-Allow-Credentials: true < { "args": {}, "data": "{\"gohann\":\"suki\", \"oyatsu\":\"daisuki\"}", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Content-Length": "41", "Content-Type": "application/json", "Host": "sample.org", "User-Agent": "curl/7.64.1", "X-Amzn-Trace-Id": "Root=12345678901234567890" }, "json": { "gohann": "suki", "oyatsu": "daisuki" }, "origin": "xxx.xxx.xxx.xxx", "url": "http://sample.org/post" } * Connection #0 to host sample.org left intact * Closing connection 0
*1:通常、curlはエラーになっても何食わぬ顔で正常終了します(終了コード0)。-fオプションをつけることで、異常終了時に終了コード22で終わるようになります。