在Amazon s3 bucket中,我们将Debian软件包存储在不同的文件夹中,每个文件夹包含不同数量的文件。
当从s3 bucket(AWS)调用Debian包时,包是用空格分隔的,现在我需要把这些用空格分隔的包转换成一个用换行符分隔的列表,也就是说每行一个包文件,输入行不包含相同数量的空格。
每个目录包含不同数量的Debian软件包,最后将软件包逐行转换后,将所有软件包(不同文件夹的)存储在一个文件中。
输入:
package1.deb package2.deb pacakge3.deb pacakge4.deb package5.deb
输出:
package1.deb
package2.deb
package3.deb
pacakge4.deb
这是在后台为s3存储桶的不同文件夹运行函数的当前尝试
function convertSpaceToNewLine(){
for line in filename; do
cat $line| grep '.deb$'|tr [:space:] \\t | sed 's/\t\t*/\n/g' >> folder/newfile
done
}
我已经尝试了许多命令,如truncate、awk、xargs -n 1和sed。谢谢
1条答案
按热度按时间rjzwgtxy1#
我认为使用sed将空格替换为换行符就足够了。