.txt ファイルにパターンのリストがあります。[list.txt]。list.txt の各行について、list.txt で指定されたパターンで始まる場所にあるすべてのファイルを検索し、これらのファイルを別の場所に移動したいと考えています。例を考えてみましょう。
で、この~/home/ana/folder_a
ようlist.txt
に見えます...
list.txt
1abc
2def
3xyz
この場所/home/ana/folder_a/
には、list.txt のパターンで始まる複数のファイルがあります。したがって、1abc_a.txt、1abc_c.txt、1abc_f.txt、2def_g.txt、3xyz_a.txt のようなファイルがあります。
だから私が達成したいのはこれです:
for i in cat list.txt; do
ls | grep '^$i' [thats the pattern] |
mv [files containing the pattern] to /home/ana/folder_b/
他の場所、つまり /home/ana/folder_b/ には、パターンごとに固有のディレクトリが既に作成されていることに注意してください。
したがって、 /home/ana/folder_b/ には 1abc/ 、 2def/ 、 3xyz/ などのサブディレクトリが含まれます。実際には、パターン '1abc'、'2def' および '3xyz' に一致するすべてのファイルを /home/ana/folder_a/ から移動したいと考えています。 /home/ana/folder_b/ のそれぞれのサブディレクトリに、/home/ana/folder_b/1abc に 1abc_a.txt 、 1abc_c.txt 、および 1abc_f.txt が含まれるようにします。/home/ana/folder_b/2def/ には 2def_g.txt が含まれ、/home/ana/folder_b/3xyz/ には 3xyz_a.txt が含まれます。