※ ChatGPTを利用し、要約された質問です(原文:sed により ~/ の左を全て切り取る)
Linuxで特定のパーティション内の同じファイル名のペアを探し出す方法
このQ&Aのポイント
Linuxで特定のパーティション内の同じファイル名のペアを探し出す方法について教えてください。
具体的には、特定のパーティションにマウントされているファイル内の同じファイル名を持つペアを見つけたいです。
lsコマンドとfindコマンドを組み合わせて使用する方法が分からず困っています。どなたか解決策を教えてください。
あるパーティションの中にある
同じファイル名を持つもののペアを全て探しだして表示する、
ということを Linux でやりたいです。
たとえば /media/usb2 でマウントされているパーティションなら
ls -R /media/usb2 > allfiles.txt
をまず実行して、
これで生成された allfiles.txt の中に書いてある
/dir_1/dir_2/dir_3/filename
などといったひとつひとつの行の
最後の / の後の filename を使って
find /media/usb2 -name filename
というコマンドを全ての行の filename に対して自動的に実行して
結果をファイルに書き出すスクリプトを作ればいいのでしょうが、
やり方が分かりません。
おそらくは sed を使って
/dir_1/dir_2/dir_3/filename
の最後の / より左を全部切り取り
filename を臨時変数 temp などに格納して
grep $temp allfiles.txt >> result.txt
という操作をカウンタ変数を用いながら
allfiles.txt のほとんど全ての行に対してやればよいと思います。
sed について検索した結果をざっと目を通しても分かりませんでした。
やり方をどなたかご教授下さい。
よろしくお願いいたします。
これは
http://okwave.jp/qa/q8785387.html
で質問したことですが、
ログアウトの仕方がすぐに分からなかったので
ログアウトせずにブラウザを閉じ、OSをシャットダウンする、
ということを何回かやったことが原因だと思いますが、
アカウントがおかしな状態になっていました。
夜にログインして質問を投稿しても
翌朝見ると質問が掲載されていないので、
質問を再度投稿しても即座に掲載されない
というようなおかしな状態になり、
また何度も投稿しようとしたため
ほとんど同じ質問が3つ並ぶ結果となってしまいました。
回答がつきにくいかと思い、再質問しました次第です。
お礼
ありがとうございます。