- ベストアンサー
正規表現で先頭の一文字を消したい
カレントのファイルリストを作りたいのですが、 どうすればいいかわかりません。 find . -type f > list.txt のようにしたのですが、 これだと ./abc/def/grt.txt のようになり、この先頭の"."が邪魔です。 正規表現を使えばいいのかと思ったのですが、 よくわかりませんでした。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Perlのカテゴリに質問されてますが、これperlじゃなくてシェルですよね・・・ sedを使って加工すれば済みます find . -type f | sed s/^.// > list.txt で望みの結果が得られます。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
作ったリストをPerlで処理 perl -i.bak -pe 's/^\.//' list.txt
質問者
お礼
ありがとうございます。 perlのなかでは’が必要になるのですね。 回答ありがとうございました
お礼
申し訳ありません。 シェルで作ったリストをperlで処理しようとしていたので、perlで質問してしまいました。 でも教えていただいた方法でシェルでリストを作り直せばできそうです。 sedというのを使うのですね。 ちょっと調べてみました。 s/^.// は先頭に.があったら、/何もなし/に置換する という意味ですね! ありがとうございました! 助かりました。