【发布时间】:2021-12-26 18:26:00
【问题描述】:
我有一个包含目录列表的文件 (list.txt),我想读取每一行,然后根据目录名称中的数字范围将文件夹移动到特定的目标文件夹。无论文件中列出多少个目录,它都需要工作,因为这每天都会改变。
在 list.txt 中,每一行都像这样列出目录;
/20211601_113212_hello_LGD_text.csv/KLS_8938I1_02020721_1/
我只对粗体文本感兴趣,如果该数字在某个范围内,例如1-500 我想把它移到'folder1',或者500-100'folder2'等等。该数字将始终位于 _1/ 之前,并且始终为 4 个数字。
使用
grep -0 '......$' /list.txt | cut -d_ -f1
我已经成功地 grep 了我想要的号码,但我无法对这些信息做任何事情。我想我可以将每一行拆分为单独的文件,然后使用 for 循环遍历每个文件,但我不知道这将如何工作。有什么建议吗?
【问题讨论】:
-
你试过使用bash的conditional expressions吗?要比较数字,请参阅以
arg1 OP arg2开头的最后一部分
标签: linux bash grep find xargs