【发布时间】:2014-02-10 16:57:19
【问题描述】:
我有以下文件“nbr_chk.txt”,该文件包含可以在任何目录中的数字(从 1 到 10)。它们所在的子目录是第5和第6个数字
nbr_chk.txt
612345678
623456789
634567890
我想使用该文件制作一个脚本并执行以下操作:
for i in 'cat nbr_chk.txt'
do
ls -lrtd /*/d5d6/i to find the directory
if there is more than one directory print the directories
if there is only 1 directory use it and find if there is a file that contains the word " test" and print number xxxxxxxxx
done
编辑 1:
例如号码 612345678 可能在以下目录 /05/45/612345678 但也可以在目录 /09/45/612345678 中。
因此,我需要执行 ls -lrtd /*/.... 来查找目录。
如果有多个目录,我需要创建一条错误消息
d5 表示数字的第 5 位,d6 表示数字的第 6 位。 如果数字是 612300012 数字 5 =0 和数字 6=0 并且我将不得不使用 ls -lrtd /*/00/612300012
如果它是 Unix 以外的其他语言,我会知道该怎么做,但在这里我迷路了。
谢谢
【问题讨论】:
-
请解释一下你的意思; ①“一个数字可以在任何目录(从1到10)”,②“子目录是第5个数字”,③“如果有多个目录”——在哪里?如果有多个子目录和一个包含目标的文件呢?
-
例如号码 612345678 可能在以下目录 /05/45/612345678 中,但也可能在目录 /09/45/612345678 中。出于这个原因,我需要执行 ls -lrtd /*/.... 来查找目录。
-
请解释您所说的“在以下目录中”是什么意思。这里的人不喜欢猜谜游戏;这会让你的问题变得不那么有吸引力,所以你至少应该想出一个像样的描述,否则你最终可能得不到答案。