パイプで区切られたファイルからフィールド行を検索する[閉じる]

パイプで区切られたファイルからフィールド行を検索する[閉じる]

パイプで区切られたファイルから最初の9つの単語をインポートし、次の9つの単語をインポートする必要があります。

 cat a.txt
a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|

猫 new.ksh

#! /bin/ksh
a=`awk -F "|" ' { print NF-1 } ' a.txt`
echo $a

予想出力:

grep -i "a|b|c|d|e|f|g|h|i" b.txt >> c.txt
grep -i "j|k|l|m|n|o|p|q|r" b.txt >> c.txt
grep -i "s|t|u|v|w|x|y|z" b.txt >> c.txt

ベストアンサー1

sedで

sed -E 's/(([^|]+\|){1,9})/\1\n/g' a.txt

またはパール

perl -F'\|' -lanE 'while (@F) {say join("|", splice @F, 0, 9), "|"}' a.txt

おすすめ記事