如何使用cp
rm
或mv
命令来操作保存到列表中的文件,例如像这样的文件:
ls Downloads/ | grep example > example.tmp
重点是在进行最终操作之前能够在文件编辑器中查看/编辑文件列表,然后删除 tmp。
因此,例如,下面的操作不起作用:
mkdir example_dir && cp -t example_dir < example.tmp
有什么方法可以让我实现这个功能吗?
一旦我理解了这一点,我想将整个过程简化为更少的命令,但是......我只是首先尝试让它工作(并看看它在这个单独的步骤中如何工作)。
答案1
使用 bash 的命令替换:
$ ls -1
1
2
3
a
b
c
仅将 a、b、c 放入列表文件中。
$ ls -1 | grep -E "^[a-z]$" > list
$ cat list
a
b
c
如果愿意,可以编辑列表文件,然后复制文件:
$ mkdir foo
$ cp $(cat list) -t foo
$ ls foo/
a b c