反转文件中的每隔一行,写入unix中的新文件

col*_*lin -1 python unix terminal perl awk

假设我有一个文件,wassup.txt其行如下:

wassup
donut
skateboard
? teeth. !
Run Code Online (Sandbox Code Playgroud)

我想从第二行开始反转每一行的字符,然后保存为新文件pussaw.txt,其行将显示为:

wassup
tunod
skateboard
! .hteet ?
Run Code Online (Sandbox Code Playgroud)

理想情况下,解决方案只使用基本终端/ Unix函数,或者awk,perl或python.

我知道我可以用代码翻转每一行:

rev wassup.txt > pussaw.txt
Run Code Online (Sandbox Code Playgroud)

问题是如何只在第二行开始的每一行都执行此操作.

tri*_*eee 5

使用Perl的选项组装oneliner.

perl -lpe '$_ = reverse $_ unless $.%2' file
Run Code Online (Sandbox Code Playgroud)

-l(小写字母L)切断终止换行符并在打印时将其重新添加; -p导致Perl循环输入行并在运行脚本后打印每个输入行; $_是当前输入行,$.是行号.