1
私はラインで単語のリストを持っている:バッシュ:複数行に分割ライン
aaaa bbbb ccc dddd
eee fff ggg hhh
iii jjj kkk
私は別の行に各単語をしたい:
とbashでそれを行う方法aaaa
bbbb
ccc
dddd
eee
fff
ggg
hhh
iii
jjj
kkk
最小文字数?好ましくはawkなし。純粋なbashのでは
私はラインで単語のリストを持っている:バッシュ:複数行に分割ライン
aaaa bbbb ccc dddd
eee fff ggg hhh
iii jjj kkk
私は別の行に各単語をしたい:
とbashでそれを行う方法aaaa
bbbb
ccc
dddd
eee
fff
ggg
hhh
iii
jjj
kkk
最小文字数?好ましくはawkなし。純粋なbashのでは
:
while IFS=" " read -r -a line
do
printf "%s\n" "${line[@]}"
done < file
参照:xargs
で
$ while IFS=" " read -r -a line; do printf "%s\n" "${line[@]}"; done < file
aaaa
bbbb
ccc
dddd
eee
fff
ggg
hhh
iii
jjj
kkk
:awk
で
xargs -n 1 < file
:
awk '{for(i=1;i<=NF;i++) print $i}' file
で
または
awk -v OFS="\n" '$1=$1' file
:
sed 's/ /\n/g' file
cut
付:
cut -d' ' --output-delimiter=$'\n' -f1- file
grep
付:
grep -o '[^ ]\+' file
xargsコマンドは、ファイルが `含まれている場合は、たとえば任意のエコーフラグを印刷しない答えること
または
はgrep -Po '[^\s]+' file
注意-e/E'または'それはxargsのためのデフォルトエコーの引数としてこれを解釈します-n' 。 – 123