Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash脚本逐行读取,然后打印一行_Bash_Shell_Mergesort - Fatal编程技术网

bash脚本逐行读取,然后打印一行

bash脚本逐行读取,然后打印一行,bash,shell,mergesort,Bash,Shell,Mergesort,我有一个超过10000行的文本文件,并使用此代码分隔一些内容: BS=`cat myfile | grep myword` cutbs=`cut -d'=' -f2 $BS | sort -u $cat cutbs qwe asd zxc 现在,我想在一行中打印这种类型的输出,如下所示: $cat cutbs qwe asd zxc 您只需使用粘贴-s: cut -d'=' -f2 $BS | sort -u | paste -s Sun OS版本: cut -d'='

我有一个超过10000行的文本文件,并使用此代码分隔一些内容:

BS=`cat myfile | grep myword`  
cutbs=`cut -d'=' -f2 $BS | sort -u
$cat cutbs  
qwe  
asd  
zxc
现在,我想在一行中打印这种类型的输出,如下所示:

$cat cutbs  
qwe asd zxc

您只需使用
粘贴-s

cut -d'=' -f2 $BS | sort -u | paste -s
Sun OS版本:

cut -d'=' -f2 $BS | sort -u | paste -s -
见:

项目以选项卡分隔,但您可以选择分隔符。带有空格的示例:

$ cat tubs 
qwe  
asd  
zxc
$ cat tubs | paste -s -d' ' -
qwe asd zxc
请注意你的例子:

cutbs=`cut -d'=' -f2 $BS | sort -u`
创建一个变量,然后运行

$cat cutbs
它输出文件的内容,与您可以使用的sed完全无关:

$ cat $cutbs | sed -n -e ':start $!{N;s/\n/ /;t start;};P;D;'
或tr:

$ cat $cutbs | tr '\n' ' '

也许这可以帮助你:“粘贴-s”对我来说不太合适。我的机器:“sunos 10”更新了我的答案,使用sunos 5.10(Solaris 10/09)进行了测试
$ cat $cutbs | tr '\n' ' '