我有一个文本文件txt.txt,内容如下:
ABc
aBc
aBCD
BLAblaBLA
和其他混合大小写字符串。
我想以小写形式向每一行添加相同的字符串(基本上是为了添加第二列),所以它看起来像这样:
ABc abc
aBc abc
aBCD abcd
BLAblaBLA blablabla
我用这个命令完成了小套件:
cat txt.txt | tr [:upper:] [:lower:]
但我绞尽脑汁试图将每一行添加为txt.txt文件的附加内容。
帮助?
答案 0 :(得分:4)
使用sed
,您可以执行以下操作:
sed -i 's/.*/& \L&/' txt.txt
# ^ ^ ^ ^^
# | | | |Whole match
# | | | Lowercase
# | | Whole match
# | Match whole line
# In place edit, use -i.bak to take a backup.
&
和\L
之间的文字空间可以是您想要的任何内容。
答案 1 :(得分:2)
您可以使用paste
组合来自不同来源的列:
tr '[:upper:]' '[:lower:]' < txt.txt | paste txt.txt -
如果您想按空格分隔列,请将-d' '
添加到paste
。
答案 2 :(得分:2)
水平连接文件的缺失命令是paste:
tr '[:upper:]' '[:lower:]' <txt.txt |paste txt.txt -
答案 3 :(得分:2)
简单的Awk脚本似乎是最有效和最易读的便携式解决方案。
awk '{ print $0, tolower($0) }' txt.txt