每行打印一个单词

Dri*_*ven 3 unix awk ksh sed

我几乎尝试了所有东西,sed,awk tr,但......

我正在尝试输出包含此文件的文件

 2079 May 19 13:37 temp.sh
 1024 May 23 17:09 mirrad
 478 May 26 14:48 unzip.sh
Run Code Online (Sandbox Code Playgroud)

像这样

 2079
 May
 19
 13:37
 .
 .
 .
Run Code Online (Sandbox Code Playgroud)

因此,每个字符串将在变量中一次打印出来.

Ini*_*ian 8

另一种简单的衬垫使用 xargs

xargs -n 1 <file
Run Code Online (Sandbox Code Playgroud)

这里-n说明从man页: -

-n max-args, --max-args=max-args
       Use at most max-args arguments per command line.  Fewer than
       max-args arguments will be used if the size (see the -s
       option) is exceeded, unless the -x option is given, in which
       case xargs will exit.
Run Code Online (Sandbox Code Playgroud)

将产生输出

#!/bin/bash
$ xargs -n1 <tmp.txt
2079
May
19
13:37
temp.sh
1024
May
23
17:09
mirrad
Run Code Online (Sandbox Code Playgroud)

它的-n值为2

#!/bin/bash     
$ xargs -n2 <tmp.txt
2079 May
19 13:37
temp.sh 1024
May 23
17:09 mirrad
Run Code Online (Sandbox Code Playgroud)

  • 对于大文件来说这非常慢,下面的 (m)awk 解决方案要快得多。 (2认同)

kar*_*kfa 5

其他 awk

$ awk -v OFS='\n' '{$1=$1}1' file
Run Code Online (Sandbox Code Playgroud)