如何使用管道将'ls-l'的输出发送到cp命令?

时间:2015-03-27 12:39:54

标签: linux unix

我想将ls -l命令的输出复制到一个名为“xyz”的文件中。 我知道我必须使用ls -l的输出然后使用管道将其发送到cp命令,即ls-l的输出将用作cp命令的输入

$ls-l

-rw-r--r-- 1 1030082 oinstall  167 Mar 27 10:36 \
-rw-r--r-- 1 1030082 oinstall  167 Mar 27 10:36 a1
-rw-r--r-- 1 1030082 oinstall  103 Mar 27 12:40 a2
-rw-r--r-- 1 1030082 oinstall   30 Mar 27 12:43 a3
-rw-r--r-- 1 1030082 oinstall   21 Mar 27 13:47 a4 
drwxr-xr-x 3 1030082 oinstall 4096 Mar 27 16:54 dir1
-rw-r--r-- 1 1030082 oinstall   94 Mar 27 13:53 unix
-rw-r--r-- 1 1030082 oinstall  105 Mar 27 10:33 xyz

3 个答案:

答案 0 :(得分:2)

输出到文件“test.txt”:

ls -l > text.txt

管道:

  • >将输出保存到文件中。

  • >>将输出附加到文件。

  • <从文件中读取输入。

  • 2 - ;重定向错误消息。

  • |将一个程序的输出作为输入发送到另一个程序。

答案 1 :(得分:0)

如果您尝试将目录列表中获取的文件复制到其他目录中,那么它将如下所示

for i in $(ls -al  | awk ' { print $9} ' ); do cp -rf $i $destination ; done;

如果您想简单地将ls -al的输出复制到某个文件中,请执行

ls -al > file

答案 2 :(得分:0)

如果您要查找文件详细信息(时间,权限等...)

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
    cell.textLabel?.text = list[indexPath.row]
    return cell
}

只需将xxx替换为您要查找的内容和目标路径即可。