これは、タイトルで説明するのが最も簡単なものではありません。
inputfile.txt
ファイル名の一部を含むファイルがあります。
file1.abc
filed.def
fileq.lmn
このファイルは、実際のディレクトリの完全なファイル名を見つけるために使用する必要がある入力ファイルです。ファイル名の末尾は場合によって異なりますが、一部は常に同じです。
入力ファイルから上記のディレクトリの ls コマンド (または単純なテキスト ファイルへの ls コマンド) にテキストを grep し、awk を使用して目的の結果を完全に出力できると考えましたが、それを行うのに問題があります。 .
file1.abc
入力ファイルから読み取られますinputfile.txt
ディレクトリの内容に対してチェックされます。ファイルが存在する場合、ファイル名に基づく特定のディレクトリが作成されます。
(私もBusybox環境にいます..自由に使えるものはあまりありません)
このようなもの...
cat lscommandoutput.txt \
| awk -F: '{print("mkdir" system("grep $0"); inputfile.txt}' \
| /bin/sh
ありがとうございました。
編集:これについて明確でないことをお詫びします。出力は、inputfile.txt を使用して特定の行を grep する lscommandoutput.txt で見つかった各行の完全なファイル名である必要があります。
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 から grep された名前で作成されたディレクトリがあります。
/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/
うまくいけば、それは少し明確です。