Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
xinali
V2EX  ›  Linux

Linux 命令操作

  •  1
     
  •   xinali · Apr 25, 2017 · 5117 views
    This topic created in 3483 days ago, the information mentioned may be changed or developed.

    linux 下有办法将前一个命令的结果作为第二个命令的第一个参数吗?具体举例如下

    ls | mv {第一个命令的结果} some_dir/
    
    Supplement 1  ·  Apr 25, 2017

    目前根据回答可以总结如下 4 种方法:

    1. ls | xargs -i mv {} dst_dir/ (使用 xargs 的-i 参数)
    2. mv `ls` dst_dir/
    3. mv $(ls) dst_dir/
    4. e=`ls` => mv ${e} dst_dir/

    有别的方法也欢迎补充

    25 replies  •  2017-04-26 16:16:32 +08:00
    xinali
    xinali
    OP
    Apr 25, 2017
    1
    不小心重复创建了,不好意思
    Tink
    Tink
    Apr 25, 2017❤️1
    2
    eg:

    mv `ls` ..
    pank
    pank
    Apr 25, 2017
    4
    xargs?
    we3613040
    we3613040
    Apr 25, 2017
    5
    xargs
    nightcat
    nightcat
    Apr 25, 2017
    6
    @scriptB0y 新技能 get
    xinali
    xinali
    OP
    Apr 25, 2017
    7
    @scriptB0y 能够搜到结果,再发, OK ?
    xinali
    xinali
    OP
    Apr 25, 2017
    8
    @Tink 这个可以实现我的需求,非常感谢,有一点前提是前一个命令中不含有``
    Tink
    Tink
    Apr 25, 2017
    9
    @xinali #9 也可以有,转义一下
    xia0pia0
    xia0pia0
    Apr 25, 2017
    10
    xargs - build and execute command lines from standard input
    bukip
    bukip
    Apr 25, 2017
    11
    |
    sammo
    sammo
    Apr 25, 2017❤️2
    12
    mv $(ls ...)
    `` 和 $() 同样效果
    wizardoz
    wizardoz
    Apr 25, 2017❤️1
    13
    | 操作符是把上一个程序的输出作为下一个程序的输入,和楼主理解的参数不是一回事。

    e=`ls`
    mv ${e} /dst-dir/
    这是作为参数
    xinali
    xinali
    OP
    Apr 25, 2017
    14
    目前根据回答可以总结如下 4 种方法:
    1. ls | xargs -i mv {} some_dir/ (使用 xargs 的-i 参数)
    2. mv `ls` some_dir/
    3. mv $(ls) some_dir/
    4. e=`ls` => mv ${e} some_dir/
    有别的方法也欢迎补充
    EthanLiao
    EthanLiao
    Apr 25, 2017
    15
    mkdir ~/test
    cd ~/test
    touch a
    touch b
    mkdir ~/test1
    ls | xargs -n1 -I {} cp -a {} ~/test1
    cd ~/test1
    ls
    xj998
    xj998
    Apr 25, 2017 via Android
    16
    搭楼求解一下
    一般我们排序 hosts 文件
    sort hosts.txt
    是从左到右字符逐渐排序,那么

    比如这个 cat hosts.txt
    127.0.0.1 p.kjwx8.com
    127.0.0.1 sta.jcjk0451.com
    127.0.0.1 1.yhzm.cc
    127.0.0.1 www.hao934.com
    127.0.0.1 www.1680go.com
    127.0.0.1 pc.quansj.cn
    127.0.0.1 ad.xxguan.cn
    127.0.0.1 pic.517m.cn
    127.0.0.1 eee.ttyy888.co
    127.0.0.1 www.716703.com
    127.0.0.1 dp.559.cc
    127.0.0.1 info.yitsoftware.com
    127.0.0.1 ads.gionee.com
    127.0.0.1 pdl.gionee.com
    如何实现从最右边字符开始逐步往左字符排序?这个我看了很多教程,有个-k 参数,但没搞成功。求解!
    araraloren
    araraloren
    Apr 25, 2017❤️1
    17
    @xj998 简单的很
    sort -k 2,1
    就行了
    lyao
    lyao
    Apr 25, 2017
    18
    percol 是个好东西
    https://github.com/mooz/percol
    hljjhb
    hljjhb
    Apr 25, 2017
    19
    ls | xargs mv -t dst_dir/

    xargs 可以不用 -i
    xj998
    xj998
    Apr 25, 2017 via Android
    20
    @araraloren 不行, sort -k 2,1 hosts 这个结果还是从左到右字符排序的。
    无法从倒过来排序。
    如何实现这个效果:
    127.0.0.1 dp.559.cc
    127.0.0.1 1.yhzm.cc
    127.0.0.1 sta.jcjk0451.com
    127.0.0.1 www.716703.com
    127.0.0.1 www.hao934.com
    127.0.0.1 p.kjwx8.com
    127.0.0.1 pdl.gionee.com
    127.0.0.1 ads.gionee.com
    127.0.0.1 info.yitsoftware.com
    127.0.0.1 www.1680go.com
    127.0.0.1 pc.quansj.cn
    127.0.0.1 ad.xxguan.cn
    127.0.0.1 pic.517m.cn
    127.0.0.1 eee.ttyy888.co
    yech1990
    yech1990
    Apr 26, 2017 via Android❤️1
    21
    @xj998
    tac host | sort | tac
    araraloren
    araraloren
    Apr 26, 2017❤️1
    22
    @xj998
    你的意思是整个字符串倒过来排序?? -k 是列的参数当然不行

    可以这么写: cat hosts | rev | sort | rev
    fuying
    fuying
    Apr 26, 2017
    23
    find ./ -exec mv {} dist_dir \;
    xj998
    xj998
    Apr 26, 2017 via Android
    24
    @araraloren 成功了。非常感谢你!!

    这几天我到处找 Linux 社区请教,却一直没能解决。还是 V2EX 牛人多啊!
    artandlol
    artandlol
    Apr 26, 2017
    25
    @xj998 毕竟这里都是老司机
    我一般都是这么用的
    ls | xargs -i -P 30 rm -rf {} > /dev/null
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   652 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 21:48 · PVG 05:48 · LAX 13:48 · JFK 16:48
    ♥ Do have faith in what you're doing.