我可以使用 Linux Bash 中的 sed 将文件的每一行文本翻倍吗?
示例文件:
aab1
aac2
awq6a
azs4
我想要的是:
aab1 | aab1
aac2 | aac2
awq6a | awq6a
azs4 | azs4
我知道“读行”,但我该怎么做:
- 仅使用 sed 命令?
- 通过使用“读行”?
ps. 我想将 dir 输出命令的每一行都翻倍,以便用于操作。
答案1
使用 read 非常简单
while IFS= read -r line; do printf "%s | %s\n" "$line" "$line" ; done < filename
sed 不再复杂
sed -r 's/(.*)/\1 | \1/' filename
一般来说,如果您把已经尝试过的内容包括在内,我们会更有帮助,这样我们就知道您正在学习,而不会重复您的努力。