如何使用列表中的 xargs 打印每对 args
How to print each couple of args using xargs from a list
我有这个列表
111
222
333
444
555
我想打印每一行以包含 2 个耦合参数,如下所示:
111 222
222 333
333 444
444 555
555
有没有办法用 xargs 做到这一点?或任何单行命令(性能很重要)
谢谢
awk
似乎比 xargs
:
更合适
$ awk 'NR>1 {print prev, [=10=]} {prev=[=10=]} END {print prev}' file.txt
111 222
222 333
333 444
444 555
555
您还可以将 paste
与两个输入一起使用:一个作为原始文件,另一个将第一行剥离(此处使用 tail -n +2
):
paste file.txt <(tail -n +2 file.txt)
使用@pjh 的pipeline (as :
tail -n +2 file.txt | paste file.txt -
双输出
111 222
222 333
333 444
444 555
555
使用 xargs
和内联 shell 脚本:
xargs -a list.txt sh -c 'while [ $# -gt 0 ]; do printf %s\ %s\n "" ""; shift; done' _
我有这个列表
111
222
333
444
555
我想打印每一行以包含 2 个耦合参数,如下所示:
111 222
222 333
333 444
444 555
555
有没有办法用 xargs 做到这一点?或任何单行命令(性能很重要)
谢谢
awk
似乎比 xargs
:
$ awk 'NR>1 {print prev, [=10=]} {prev=[=10=]} END {print prev}' file.txt
111 222
222 333
333 444
444 555
555
您还可以将 paste
与两个输入一起使用:一个作为原始文件,另一个将第一行剥离(此处使用 tail -n +2
):
paste file.txt <(tail -n +2 file.txt)
使用@pjh 的pipeline (as
tail -n +2 file.txt | paste file.txt -
双输出
111 222
222 333
333 444
444 555
555
使用 xargs
和内联 shell 脚本:
xargs -a list.txt sh -c 'while [ $# -gt 0 ]; do printf %s\ %s\n "" ""; shift; done' _