タグ

linuxとsedに関するU1and0のブックマーク (5)

  • sedコマンドでファイルの先頭行に文字列を挿入する - Qiita

    ファイルの末尾に追記するなら、echoでリダイレクトですが先頭行に追記するときってどうするのかな?となったのでメモしておきます。

    sedコマンドでファイルの先頭行に文字列を挿入する - Qiita
    U1and0
    U1and0 2018/05/07
    sed -i '1挿入するワード' 挿入するファイル.txt
  • sedでファイルを上書き保存

    単一ファイルの場合 -i(--in-place)オプションが使えるsedの場合 cygwinのsed(GNU sed 4.1.5版)では,オプション-i(--in-place)を使うと入力ファイルの上書き更新ができる.例として,「filter.propertiesファイルの中の先頭が#で始まる行(コメント行)を削除して上書き」してみよう.今回の場合は以下の通りとなる.ちなみに先頭の$はコマンドプロンプトである. $ sed -i -e '/^#/d' filter.properties または $ sed --in-place --expression=/^#/d filter.properties 上書き前のファイルをバックアップとしてとっておくなら-i(--in-place)にバックアップ用の拡張子を指定する.例えば,上書き前のファイルに拡張子.bakをつけて保管する場合は以下の通り.

    U1and0
    U1and0 2018/01/16
    “cygwinのsed(GNU sed 4.1.5版)では,オプション-i(--in-place)を使うと入力ファイルの上書き更新ができる.例として,「filter.propertiesファイルの中の先頭が#で始まる行(コメント行)を削除して上書き」してみよう.今回の
  • 大量のファイルをシェルのコマンドで一括リネームする | DevelopersIO

    コマンド $ ls | sed -e s/\.txt// | awk '{print $1 ".txt " $1 "_document.md"}' | xargs -n 2 mv 戦略について まず前提として、ファイルのリネームを行うには、 xargs -n 2 mv にパイプで 元ファイル名 リネーム後のファイル名 のようなフォーマットの文字列を渡せば OK です。 $ ls before.txt $ echo "before.txt after.txt" before.txt after.txt $ echo "before.txt after.txt" | xargs -n 2 mv $ ls after.txt この文字列が複数行ある場合、 xargs -n 2 mv は1行ずつ順次処理します。 $ ls 1.txt 2.txt $ echo "1.txt 11.txt\n2.tx

    大量のファイルをシェルのコマンドで一括リネームする | DevelopersIO
  • sed に関するメモ

  • sed の区切り文字 - Invalid signature

    URLリライティングのための/etc/apache2/sites-available/defaultの 修正が手動だったため、自動化するために新しくゲストを作ると sedがunknown option to `s'というメッセージを 出していた。 調べてみるとスラッシュをアットマークで置き換えてみろというアドバイスを 見つけた。 ただ、リファレンスページみたいなところではその事は一切触れて おられず、気持ち悪い。 調べを進めると納得出来る情報を見つけた。 sed コマンドは「s」の直後に指定した文字を区切り文字として認識する。 したがって、使用する区切り文字は "/" でなくともよい。 特に "/" 自体を置換対象とする場合は、"/" の代わりに "%" や "|" などを 区切り文字に使用すると、"/" をエスケープする必要がなくなる。 http://shellscript.sunone

    sed の区切り文字 - Invalid signature
    U1and0
    U1and0 2016/06/29
    sedがunknown option to `s' "/" 自体を置換対象とする場合は、"/" の代わりに "%" や "|" などを 区切り文字に使用すると、"/" をエスケープする必要がなくなる。
  • 1