for i in *.txt;
do
xxd -l 3 $i >> log
done
我还想为每个结果记录文件名$i
。例如:
file_name
result_of_command
答案 0 :(得分:1)
您可能只需要使用for i in *.txt;
do
echo "$i" >> log
xxd -l 3 $i >> log
done
:
printf
答案 1 :(得分:0)
我不完全清楚你在问什么,但这就是你想要的吗?
Uncaught ReferenceError: jquery is not defined
答案 2 :(得分:0)
最好使用find
和-exec
选项为符合特定条件的每个文件运行命令。
如果您希望当前目录中的所有文件都与*.txt
匹配,则可以使用find
。您可以使用-exec
选项为每个文件运行命令。 {}
替换文件的名称,\;
(转义;
终止命令)。您可以使用+
来告诉find将{}
替换为多个文件名。
find . -type f -name '*.txt' -maxdepth 1 -exec xxd -l 3 {} \; >> log
请注意,上面的示例包含隐藏文件,您可以使用正则表达式排除它们。
find . -type f \( ! -regex '.*/\..*' \) -name '*.txt' -maxdepth 1 -exec xxd -l 3 {} \; >> log
此外,如果您要在当前目录中对文件进行通配并在命令中使用它们,请始终使用./*
。以-
开头的路径很可能被您的命令解释为选项。