awk または sed は増分奇数行と偶数行を表示します。

awk または sed は増分奇数行と偶数行を表示します。

テキストファイルから画面に奇数行と偶数行を徐々に表示するのに役立ちます。

テキストファイル

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"

関連情報