我对Linux很陌生,我还在学习这些命令。我想要做的就是格式化我的.txt文件。
以下是我的文件:
hello hello
goodbye goodbye
random random
example example
last last
我想要做的就是删除空格并用分号替换它。
例如:
hello:hello
goodbye:goodbye
random:random
example:example
last:last
我不确定什么命令可以完成这项任务,我很确定它是grep还是awk。如果有人能帮我解决这个问题会很棒。谢谢,所有的帮助表示赞赏。
答案 0 :(得分:2)
sed
是执行此任务的最简单工具:
sed 's/ /:/' infile > outfile
答案 1 :(得分:2)
使用tr
(将所有空格转换为冒号)
tr ' ' ':'
使用sed
(用冒号替换所有空格)
sed 's/ /:/g'
使用awk
(更改输出字段分隔符,然后为每行重新计算/输出$0
)
awk 'BEGIN{OFS=":"}{$1=$1;print}'
使用Perl(标准-pne
read-eval-print循环替换字符):
perl -pne 's/ /:/g'
使用C过滤器程序,因为是编程Q& A站点: - )
// Call with: progName <infile
#include <stdio.h>
int main (void) {
int ch;
while ((ch = getchar()) != EOF) {
if (ch == ' ') ch = ':';
putchar (ch);
}
return 0;
}
可能有很多其他方法可以做到这一点,但我可能会选择tr
实用程序,因为它是最简单的,具有最清晰的意图。
答案 2 :(得分:1)
您需要使用流编辑器sed
以冒号替换空格,如下所示:
sed -i的/ /:/'文件名
其中filename
是您的文件。