1
我有一个for
循环来列出目录中的文件,然后根据它们的名称将它们移动到各个适当的文件夹。重新评估每次运行的for循环条件
说有300个文件象下面这样:
- Prefix_filename1_suffix1_date.txt - 100个文件
- Prefix_filename101_suffix2_date.txt - 150个文件
- Prefix_filename251_suffix3_date.txt - 50个文件
我会只需知道循环开始处的文件的前缀和文件夹位置:
cd folder_location
for f in $(ls ${file_prefix}*); do
当我输入for
循环后,文件名会被我知道 - 这是一个挑战。
我使用正则表达式找到所有文件共有的后缀,然后使用awk
获得前缀和后缀之间的文件名。所以要使用正则表达式和awk
我需要文件名通过for
循环。
在处理这些文件时,我将所有相似的文件一起移动,所以(如果有三组文件),文件可能会在3次运行中移动(比如说第1,101和251次),另外297次运行不要做任何事情,因为没有要处理的文件,因为它已经列出了300个文件 - 最初循环运行了300次。
我该如何避免这种情况?并让循环运行3次。
你可以发布你的for循环? f($ ls $ {file_prefix} *)中的 –
;做 – zeushvk
我在for循环之前做一个cd folder_location – zeushvk