0

私はこのようなものを探していました。次の単語を含むdemo.txtファイルがあります

bold
code
make
links
placing
line
return

私は結果を達成したいと思っています

bold
code
make
links
placing
line
return
bold code
code make
make links
links placing
placing line
line return
bold code make
code make links
make links placing
links placing line
placing line return

sed または awk またはスクリプトが役立つ場合があります

4

1 に答える 1

2
words_per_line() {
    local n=$(($1-1)) i j
    for ((i=0; i<${#words[@]}-n; i++)); do
        for ((j=0; j<=n; j++)); do
            printf "%s " ${words[i+j]}
        done
        echo
    done 
}

mapfile -t words < demo.txt     # read the file into a zero-indexed array

words_per_line 1
words_per_line 2
words_per_line 3

出力

bold 
code 
make 
links 
placing 
line 
return 
bold code 
code make 
make links 
links placing 
placing line 
line return 
bold code make 
code make links 
make links placing 
links placing line 
placing line return 

これにより、同じ出力が生成されます。

ruby -e '1.upto(3) {|n| ARGV.each_cons(n) {|a| puts a.join(" ")}}' $(< demo.txt)
于 2013-06-11T17:51:17.477 に答える