在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