テキストファイルから画面に奇数行と偶数行を徐々に表示するのに役立ちます。
テキストファイル
10101
AsPO4IF+tGU=
01010
WvTzUYrxvXY=
00101
CfZzsDDKW98=
以下のスクリプトに閉じ込められています。
result=Textfile
while IFS='' read -r line || [[ -n "$line" ]];
echo "`awk or sed odd line $result`" "`awk or sed even line $result`"
done < "$result"
出力が必要
"AsPO4IF+tGU=" "10101"
"WvTzUYrxvXY=" "01010"
"CfZzsDDKW98=" "00101"
テキストファイルからEOFに達するとスクリプトを停止します。
時間をいただきありがとうございます。
答え1
ファイルの行を繰り返す必要はありません。awk
これがまさにあなたがうまくいくことです。
awk '
NR%2 != 0 {last=$0}
NR%2 == 0 {printf "\"%s\" \"%s\"\n",$0,last}
' file
答え2
sed
外部ループも必要ありません。
sed -E '$!N;s/(.*)\n(.*)/"\2" "\1"/' file
-E
()
読みやすくするために拡張正規表現を使用してください。$!N
ペアのない行がある場合は、常にN
最後の行()を除いてパターンスペースの2行を連結()します。$!
s/(.*)\n(.*)/"\2" "\1"/
2行を反転し、改行をスペースに置き換えて二重引用符を追加します。
答え3
私は次の方法でそれをしました
注文する:
sed "N;s/\n/ /g" filename | awk '{print $2,$1}'| sed 's/^/"/g'| sed 's/$/"/g'| sed 's/=/"&"/g'
出力
"AsPO4IF+tGU"=" 10101"
"WvTzUYrxvXY"=" 01010"
"CfZzsDDKW98"=" 00101"