如何在bash中记录变量

时间:2016-12-15 01:04:15

标签: bash shell scripting

for i in *.txt; do xxd -l 3 $i >> log done

我还想为每个结果记录文件名$i。例如:

file_name result_of_command

3 个答案:

答案 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

此外,如果您要在当前目录中对文件进行通配并在命令中使用它们,请始终使用./*。以-开头的路径很可能被您的命令解释为选项。