这并不是在标题中最容易解释的。
我有一个inputfile.txt
包含部分文件名的文件:
file1.abc
filed.def
fileq.lmn
该文件是一个输入文件,我需要使用它来查找实际目录的完整文件名。文件名的结尾因情况而异,但其中一部分始终相同。
我想我可以将输入文件中的文本 grep 到所述目录中的 ls 命令(或 ls 命令到一个简单的文本文件),然后使用 awk 输出我想要的完整结果,但是我在这样做时遇到了一些麻烦.
file1.abc
从输入文件中读取inputfile.txt
它会根据目录内容进行检查。如果文件存在,则根据文件名创建特定目录。
(我也在 Busybox 环境中.. 我没有很多东西可以使用)
像这样的东西...
cat lscommandoutput.txt \
| awk -F: '{print("mkdir" system("grep $0"); inputfile.txt}' \
| /bin/sh
谢谢你。
编辑:我很抱歉不清楚这一点。输出应该是在 lscommandoutput.txt 中找到的每一行的完整文件名,使用 inputfile.txt 对这些特定行进行 grep。
如果 inputfile.txt 包含:
file1.abc
filed.def
fileq.lmn
和 lscommandoutput.txt 包含:
file0.oba.ca-1.fil
file1.abc.de-1.fil
filed.def.com-2.fil
fileh.jkl.open-1.fil
fileq.lmn.he-2.fil
不包含在 inputfile.txt 中的额外行将被忽略。inputfile.txt 中的文件为它们创建了一个目录,其名称是从 lscommandoutput.txt 中获取的。
/dir/dir2/file1.abc.de-1.fil/ <-- directory in which files can be placed in
/dir/dir2/filed.def.com-2.fil/
/dir/dir2/fileq.lmn.he-2.fil/
希望这更清楚一点。