1

我有一个包含文本的文件


    Host:xxx.xxx.xxx.123
    Host:xxx.xxx.xxx.124
    Host:xxx.xxx.xxx.125

Questin是如何获取这个文件的(unix方式)


    Host:xxx.xxx.xxx.123; something xxx.xxx.xxx.123
    Host:xxx.xxx.xxx.124; something xxx.xxx.xxx.124
    Host:xxx.xxx.xxx.125; something xxx.xxx.xxx.125

先感谢您!

4

2 回答 2

1

这是一个 awk 替代方案:

awk 'BEGIN{FS=":"}{ printf "%s:%s; 东西 %s \n", $1, $2, $2 }' yourfile.txt

awk 非常适合像这样的逐行字符串操作。如果需要,只需将输出定向到目标文件。如果还没有完全理解,请查看 AWK 教程。

于 2012-04-07T08:37:47.217 回答
0

awk 也可以使用,但这有效(file1 是您的原始文件):

cut -d":" file1 -f2 > tmp.txt; paste tmp.txt tmp.txt | \
sed 's/^/Host:/' | sed 's/\s/; something /'

它不是很精致,大多数人不会使用 sed 两次,但它确实有效。要将其发送到文件中,只需以 > file2 结尾

于 2012-04-07T08:33:05.870 回答