大多数命令行程序一次只操作一行。
我能否使用常见的命令行工具(如echo、sed、awk等)将每组两行连接起来,还是需要从头编写脚本/程序来完成这个操作?
$ cat myFile
line 1
line 2
line 3
line 4
$ cat myFile | __somecommand__
line 1line 2
line 3line 4
sed 'N;s/\n/ /;'
获取下一行,并将换行符替换为空格。
seq 1 6 | sed 'N;s/\n/ /;'
1 2
3 4
5 6
$ awk 'ORS=(NR%2)?" ":"\n"' file
line 1 line 2
line 3 line 4
$ paste - - < file
line 1 line 2
line 3 line 4
-d ""
。 - glenn jackmancat myFile | while read line; do echo -n $line; [ "${i}" ] && echo && i= || i=1 ; done
while read line; do echo -n $line; [ "${i}" ] && echo && i= || i=1 ; done < File
- ghostdog74$ perl -pe 'chomp;$i++;unless($i%2){$_.="\n"};' < file
line 1line 2
line 3line 4
perl -ne 'chomp($p=$_); $q=<>; print $p,$q' file
- glenn jackmanwhile read line1; do read line2; echo $line1$line2; done < inputfile