将多个命令的结果发送到一个文本文件?
题
这是我到目前为止 - 我的dropbox public URL 创建目录的目录公共网址( getdropbox.com - gpl我认为)。我的 LIST
文件是使用ls以下列方式创建的:
ls -d ~/Dropbox/Public/PUBLICFILES/* > LIST
dropboxpuburl.sh:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH > ~/URLLIST/$PATH
done
现在,这会创建一系列文件 - 每个文件都包含dropbox puburl。
问题是:如何让这个脚本将所有公共链接重定向到一个文本文件,每个文本文件都在一个新行上 - 可能名称为 PUBLIC-DIRECTORY-LIST ?
解决方案
这是你想要达到的目标吗?
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH >> filename
done
其他提示
好的,我已经使用了给我的建议了:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH
done > PUBLIC-DIRECTORY-LIST
它创建一个目录列表,在它们下面是公共链接。现在是时候修剪目录以获得链接的干净文本文件了。
=>创建文件并向第一行添加内容。 >>在新的一行上贴上它。
echo txt=>PUBLIC-DIRECTORY-LIST.txt |
echo another text>>PUBLIC-DIRECTORY-LIST.txt
你应该在读取时使用输入重定向代码而不是
使用
cat filename
。另外,为了避免变量名称冲突,我将路径变量更改为小写,因为shell已经使用了全部大写。它不会影响您的交互式shell,但它可能会影响您脚本中的某些内容。
此外,假设您希望输入文件中的行作为进度指示器显示在屏幕上,但未在输出文件中捕获,此 echo
将其发送到 stderr 代码>
while read path
do
echo $path >&2
dropbox puburl $path
done < LIST > PUBLIC-DIRECTORY-LIST
不隶属于 StackOverflow