在Unix中逐行在文件中添加数据
我从一个命令中提取文件名,它返回许多文件名,我将它们放在一个文件中 代码: 这里的问题是,我没有在每一行上获得文件名。 它在一行上给出两个文件名。 但我希望每个文件名都在一行上 例如: 我得到的文件名如上所示,我想如下所示在Unix中逐行在文件中添加数据,unix,Unix,我从一个命令中提取文件名,它返回许多文件名,我将它们放在一个文件中 代码: 这里的问题是,我没有在每一行上获得文件名。 它在一行上给出两个文件名。 但我希望每个文件名都在一行上 例如: 我得到的文件名如上所示,我想如下所示 /informatica/ETD/PC9/scripts/kamil/temp/temp1.txt /informatica/ETD/PC9/scripts/kamil/temp/temp2.txt 请给出您的建议,问题是您使用的是echo和backticks。不要!ech
/informatica/ETD/PC9/scripts/kamil/temp/temp1.txt
/informatica/ETD/PC9/scripts/kamil/temp/temp2.txt
请给出您的建议,问题是您使用的是
echo
和backticks。不要!echo
将其所有参数(似乎是两个文件的列表)展平为一行输出
错:
echo `find ${FILE_SYSTEM}/${dir_name}/${sub_dir_name} -type f -size +${BADFILES_SIZE} -exec ls -1lutr {} \; | sort -rn | awk '{print $9}'` >> Somefile.txt
对:
find ${FILE_SYSTEM}/${dir_name}/${sub_dir_name} -type f \
-size +${BADFILES_SIZE} -exec ls -1lutr {} + |
sort -rn |
awk '{print $9}' >> Somefile.txt
更换
\如果您的find
版本支持,则使用+
进行code>;它的效率要高得多。
echo `find ${FILE_SYSTEM}/${dir_name}/${sub_dir_name} -type f -size +${BADFILES_SIZE} -exec ls -1lutr {} \; | sort -rn | awk '{print $9}'` >> Somefile.txt
find ${FILE_SYSTEM}/${dir_name}/${sub_dir_name} -type f \
-size +${BADFILES_SIZE} -exec ls -1lutr {} + |
sort -rn |
awk '{print $9}' >> Somefile.txt