多くのサブディレクトリとファイルを含むディレクトリがあります。各ファイル名とソースディレクトリパスに関する情報を提供するファイルを作成したいと思います。
たとえば、
Sample1およびSample2サブディレクトリを含むSampleというフォルダがあります。
例1ディレクトリにはがあり、ex1.csv
例2ディレクトリにはがあります。ex2.csv
ex3.csv
ex4.csv
次の方法で情報を提供するテキストファイル(または)CSVファイルを作成する必要があります。
ex1.csv,sample/sample1
ex2.csv,sample/sample1
ex3.csv,sample/sample2
誰かがUNIXでスクリプトファイルを作成するのに役立つことができれば良いでしょう。
私は試した:$ find sample -type f -printf '%f,%h\n'
私はSolarisを使用しているので、追加のprintf
ユーティリティをインストールすることはできず、権限もありません。
答え1
これがあなたのSolarisと互換性があることを願っています。 SunOS 5.10とbash 4.3.26でテストしました。
find . | while read f; do
if [ ! -d "$f" ]; then
echo $(basename "$f"),$(dirname "$f")
fi
done
これは単にファイル名を分割するためにおよびbasename
を使用します。dirname
$ find test | while read f; do if [ ! -d "$f" ]; then echo $(basename "$f"),$(dirname "$f"); fi; done
ex4,test/sample2
ex3,test/sample2
ex2,test/sample1
ex1,test/sample1