
Ubuntu日本語フォーラム

ログインしていません。
はじめまして。
Linuxを使い始めてまだ間もなく、コマンドについて勉強しているのですが、
以下のようにするコマンドが分かりません。
あるディレクトリ(及びその下に入れ子になったディレクトリ)の下にある、
ファイル名に拡張子.txtを持つファイル全てについて、
各ファイル中に含まれる文字列THIS-FILEを全て
そのファイルのファイル名で置き換える。
find,sed,basenameコマンドを組み合わせて使うということは分かるのですが、
その組み合わせ方がよく分かりません。
方法が分かる方が居られましたら教えていただきたいです。
よろしくお願いします。
オフライン
for n in $(find . -name '*.txt')
do
sed -i -e "s/THIS-FILE/$(basename ${n})/g" ${n}
doneとかでどうですか?
オフライン