linux - 我如何切出这些柱子来制作这个?

标签 linux unix

*Unix

我要转换的文件包含:

abc.123?zyx

我正在尝试将其转换为如下所示:

123 ZYX abc

我使用了命令:

cut -f1 -d "." $data > first

cut -f2 -d "?" $data > second

但是,当我似乎无法将最后一列复制到新文件时。 我还想知道如何将我试图复制的最后一列大写。

最佳答案

我认为“tr”(翻译)更适合第一部分。 例如:

$> echo "abc.123?zyx" | tr '[.?:]' ' '
abc 123 zyx

现在要将结果字符串的最后一列转换为大写,您可以使用 awk:

$> echo "abc 123 zyx" | awk '{print $1 " " $2 " " toupper($3) }'
abc 123 ZYX

总的来说,以下内容应该适合您:

$> cat <file> | tr '[.?:]' ' ' | awk '{print $1 " " $2 " " toupper($3) }'

关于linux - 我如何切出这些柱子来制作这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215928/

相关文章:

linux - 纳吉奥斯十一 : Provide Multiple Arguments to a Command

linux - 在尝试使用 ssh 设置时间时寻找匹配的 `"时出现意外的 EOF

ruby-on-rails - 防止 Rails 在执行 ssh 时挂起?

bash - 命令存在于路径上,但我得到 "No such file or directory"而不是 "command not found"

unix - 在 UNIX 中的 sed 命令中使用否定

创建 UNIX Shell,对 fork 和 child pid 感到困惑?

linux - 我需要来自 glibc 的异步信号安全函数列表

mysql - Bitnami 谷歌服务器上的 Cronjob 不工作

unix - sed 替换上下文中 d 和 t 的函数

c++ - 发送接收调用时带有 C++ 字符串的垃圾文本