首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在bash中将一行拆分成单词

在bash中将一行拆分成单词
EN

Stack Overflow用户
提问于 2012-06-26 20:14:33
回答 7查看 2.9K关注 0票数 5

我想把一行分成几个词。我知道这是可以做到的

代码语言:javascript
运行
复制
For word in $line; do echo $word; done  

但是我想做一个3-3个单词的组。所以我的问题是,我如何将一行分成3-3个单词的组?

例如

代码语言:javascript
运行
复制
Input : I am writing this line for testing the code.  

Output :  
I am writing
this line for
testing the code.  
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-26 20:47:38

作为开始,您可以使用this,它将每个单词读入一个数组

代码语言:javascript
运行
复制
#!/bin/bash

total=0
while read
do
    for word in $REPLY
    do
        A[$total]=$word
        total=$(($total+1))
    done
done < input.txt

for i in "${A[@]}"
do
    echo $i
done

下一步是使用seq或类似的方法对数组进行循环,并以三个一组的形式打印出来。

票数 0
EN

Stack Overflow用户

发布于 2012-06-26 22:37:11

一次读三个单词。将正在读取的行设置为余数:

代码语言:javascript
运行
复制
while read -r remainder
do
    while [[ -n $remainder ]]
    do
        read -r a b c remainder <<< "$remainder"
        echo "$a $b $c"
    done
done < inputfile
票数 4
EN

Stack Overflow用户

发布于 2012-06-26 21:04:19

粘贴命令怎么样?

代码语言:javascript
运行
复制
for word in $line; do echo $word; done | paste - - -
for word in $line; do echo $word; done | paste -d" " - - -
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11207102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档