1

ディレクトリがあり、それぞれにいくつかのテキスト ファイルが含まれるサブディレクトリがあります。

 main-dir
  |
  sub-dir1
         | file1 "foo"
  |
  sub-dir2
         | file2 "bar"
  |
  sub-dir3
         | file3 "foo"

これらのファイル file1、file2 には同じテキストが含まれています。ファイルの内容に基づいて、これらのサブディレクトリを分離したいと考えています。サブディレクトリ 1 とサブディレクトリ 3 をグループ化したいのですが、これらのサブディレクトリ内のファイルは同じ内容を持っているからです。この例では、sub-dir1 と sub-dir3 を別のディレクトリに移動します。

再帰モードで grep を使用すると、ファイルの内容に一致するすべてのサブディレクトリが一覧表示されます。出力をどのように活用できますか。

4

2 に答える 2

0

私の質問を解決するこのスクリプトを書くことができました。

PWD=`$pwd`
FILES=$PWD/*

for f in $FILES
do
    str=$(cat $f/file1)
    if [ "$str" == "foo" ];
    then
         cp -rf $f $HOME_PATH/newdir/
    fi

done
于 2013-07-12T14:52:22.683 に答える