每三行变一行

回复 收藏
比如1.txt内容
1
2
3
4
5
6
7

处理后应该是
1 2 3
4 5 6
7

答案:
{{{密码回复可见}}}

2016-01-20 10:57 举报
已邀请:
0

huanglin

赞同来自:

学习shell中
0

老咸菜

赞同来自:

学习
0

酷梦心扉

赞同来自:

学习了!!!
0

sd89456123

赞同来自:

吃豆豆,每过三行不吃
0

yangjian319

赞同来自:

看看咯。
0

elvis

赞同来自:

dd
0

t0ny1988

赞同来自:

awk 'ORS=NR%3?" ":"\n"{print}'
0

t0ny1988

赞同来自:

awk 'ORS=NR%3?" ":"\n"{print}'
0

snake

赞同来自:

学习
0

loveyouhyf

赞同来自:

#!/bin/bash
##filename:3bian1.sh
##每三行变一行
##write by 2016-01-21
a=`wc -l <11.txt`
for i in `seq $a`;do
b=$[$i%3]
if [ $b -ne 0 ];then
  if [ "$i" != "$a" ];then
  sed -n "$i"p 11.txt|tr "\n" " "
  else
  sed -n "$i"p 11.txt
  fi
else
sed -n "$i"p 11.txt
fi
done
0

junlz

赞同来自:

查看答案
0

zhangsan

赞同来自:

xuexixia
0

loveyouhyf

赞同来自:

如此简单 ,哇
0

inzaghidai

赞同来自:

学习
0

369666951

赞同来自:

看看
0

lin19890913

赞同来自:

看看
0

落涧飞鹰

赞同来自:

看看
0

泡沫。

赞同来自:

111111111111
0

thedawn

赞同来自:

1
0

lyhabc

赞同来自:

#!/bin/bash
#write by 2016-1-31
>2.txt
>3.txt
n=$(cat /tmp/1.txt|sed -n ''p|wc -l)
for i in $(seq 1 $n)
do
if [ $(($i%3)) != 0 ]
then
    sed -n "$i"p /tmp/1.txt >> /tmp/2.txt
else
    sed -n "$i"p /tmp/1.txt >> /tmp/2.txt
        cat /tmp/2.txt |xargs >> /tmp/3.txt
        > /tmp/2.txt
fi
done

if [ $(($n%3)) -gt 0 ]
then
cat /tmp/2.txt |xargs >> /tmp/3.txt
> /tmp/2.txt
fi

cat /tmp/3.txt > /tmp/1.txt
cat 1.txt
1 2 3
4 5 6
7


0

hlymlv

赞同来自:

学习
0

一笑而过

赞同来自:

{:4_91:}
0

ayuan124

赞同来自:

看看答案先
0

北辰星

赞同来自:

学习
0

zhangmengjun

赞同来自:

学习一下
0

riluozhiyue

赞同来自:

学习
0

我是学渣

赞同来自:

{:4_99:}
0

Rohero

赞同来自:

lalala
0

licengceng

赞同来自:

学习了
0

fish

赞同来自:

学习 学习
0

xiaoxuanfeng

赞同来自:

答案
0

xteplinux

赞同来自:

{:4_91:}
0

HwangChen

赞同来自:

看答案
0

zjjjjy

赞同来自:

是每三行插入个 \n
0

zyos

赞同来自:

kan kan
0

zongsuan

赞同来自:

学习一下
0

zmh0415

赞同来自:

学习,毫无思路
0

清茶一杯

赞同来自:

学习
0

zhangdailu

赞同来自:

学习
0

kangwin

赞同来自:

学习
0

蔡炳森

赞同来自:

1
0

cxiaodian

赞同来自:

good
0

木树

赞同来自:

按行读取 记录行
0

大喵喵66

赞同来自:

看看
0

Landon

赞同来自:

a's'd
0

且听风吟

赞同来自:

学习
0

starry

赞同来自:

实现不了 看下答案
0

ifisis

赞同来自:

学习
0

online189

赞同来自:

学习
0

冷夜

赞同来自:

sed -r ‘$!{N;N;s#\n#\s#g}' 1.txt
0

keluo

赞同来自:

awk 'ORS=NR%3?" ":"\n"{print}' 1.txt
0

linux-小莫

赞同来自:

学习
0

oldorab

赞同来自:

kk
0

JJ55

赞同来自:

我看一下
0

a57601247

赞同来自:

学习
0

qq895933723

赞同来自:

看看
0

kevin_tao

赞同来自:

这个简单
0

duyanbin

赞同来自:

cat 1.txt | xargs -n 3
0

wangzai

赞同来自:

学习
0

malong

赞同来自:

看看
0

小璇Linux

赞同来自:

学习
0

wsw13640218682

赞同来自:

  1. pr -3t -s" "

0

xufanyunwei

赞同来自:

学习
0

CNS2016

赞同来自:

学习
0

等风来

赞同来自:

学习
0

linle

赞同来自:

看答案
0

chumingjie

赞同来自:

学习shell
0

圣手书生

赞同来自:

学习
0

定海偶然

赞同来自:

11111111111111111
0

阿凯

赞同来自:

  1. n=`wc -l ~/shell/1.txt |awk '{print $1}'`
  2. for i in `seq 1 $n`
  3. do
  4.         let m=$i%3
  5.         if [ $m -ne 0 ] ;then
  6.         sed -n "$i"p ~/shell/1.txt |tr '\n' ' '
  7.         else
  8.                 sed -n "$i"p ~/shell/1.txt
  9.         fi
  10. done
0

branttsai

赞同来自:

study.tks
0

牛牛牛爱洗澡

赞同来自:

11
0

xzzlamp

赞同来自:

11
0

hmh

赞同来自:

ok
0

xigua

赞同来自:

学习
0

星空的衣角

赞同来自:

学习
0

5as

赞同来自:

s
0

小猫咪

赞同来自:

学习看看看
0

十月鱼

赞同来自:

学习
0

nihao426181

赞同来自:

^^^^^^^^
0

siudern

赞同来自:

1111
0

漠林sky

赞同来自:

学习
0

cj2017

赞同来自:

。。
0

贰零壹陆

赞同来自:

学习
0

贰零壹陆

赞同来自:

学习
0

jokerhuman

赞同来自:

huifu
0

weifan

赞同来自:

xarg命令应该可以实现
0

ggangelo

赞同来自:

学习学习
0

ginzyx

赞同来自:

学习,谢谢
0

shuaizy_2016

赞同来自:

先看看
0

beafty

赞同来自:

学习
0

maria

赞同来自:

看一下
0

monga

赞同来自:

学习

0

loveangeler

赞同来自:

看看
0

Toornix

赞同来自:

kanxia
0

googleqicq

赞同来自:

{:4_92:}
0

hsm

赞同来自:

学习
0

hsm

赞同来自:

学习
0

shoswj001

赞同来自:


0

dongteng

赞同来自:

学习

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: