• ベストアンサー

正規表現で先頭の一文字を消したい

カレントのファイルリストを作りたいのですが、 どうすればいいかわかりません。 find . -type f > list.txt のようにしたのですが、 これだと ./abc/def/grt.txt のようになり、この先頭の"."が邪魔です。 正規表現を使えばいいのかと思ったのですが、 よくわかりませんでした。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kochory
  • ベストアンサー率45% (167/370)
回答No.1

Perlのカテゴリに質問されてますが、これperlじゃなくてシェルですよね・・・ sedを使って加工すれば済みます find . -type f | sed s/^.// > list.txt で望みの結果が得られます。

azicyan
質問者

お礼

申し訳ありません。 シェルで作ったリストをperlで処理しようとしていたので、perlで質問してしまいました。 でも教えていただいた方法でシェルでリストを作り直せばできそうです。 sedというのを使うのですね。 ちょっと調べてみました。 s/^.// は先頭に.があったら、/何もなし/に置換する という意味ですね! ありがとうございました! 助かりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

作ったリストをPerlで処理 perl -i.bak -pe 's/^\.//' list.txt

azicyan
質問者

お礼

ありがとうございます。 perlのなかでは’が必要になるのですね。 回答ありがとうございました

関連するQ&A