如果您的文本文件中有行
def plot(pdb, df, title, **kw):
df.loc[:,'target'] = (df['ogg'] + df['ugg']) / 2
并且您有一个名为的文件目录
abc
123
def
hij
您想在目录中获取与文本文件中的一行匹配的文件,并将该目录中的文件移动到子目录,在bash中执行此操作的最佳方法是什么?在此示例中,子目录将包含以下文件:
abc.txt
tgr.txt
lot.txt
hij.txt
我想做的事情是说:如果该字符串*作为文件名存在于目录中(带有通配符),则将该文件移至子目录。
我知道我可能会结合使用 find 或 grep 命令,但是老实说,我对从那里继续前进感到困惑。谢谢。
答案 0 :(得分:0)
cat text.txt | while read line;
do
find . -maxdepth 1 -name "$line*" -print0 | xargs -0 -I {} mv {} ./target
done
将文本文件放入循环中,并在当前目录中搜索每一行。如果在xargs
中找到管道(如果找到多个文件),并将每个文件移动到目标目录中。