linux - 使用linux命令分隔字符串

标签 linux shell unix

假设我有一个包含以下格式文件的文件夹:

hostname.anothername.ouut.ext
filename.another.anot.xxx

现在我想将第一个点内的字符串分开并在另一个文件中列出。 linux命令应该是什么?在这里,主机名就在名字里面。我的输出将在一个单独的文件中。输出格式如下:

  hostname
  filename 

我只能为包含主机名.xxxxx.yyyy 等文本的文件分隔这些词, filename.xxxx.tttt 等使用

      cut -d. -f1 <<END hostname.anothername.ouut.ext filename.another.anot.xxx END 

但 hostnae.xxxxx.yyyy、filename.uuuu.xxxxx 等不是此处的文本,它们是包含在文件夹中的文件。

最佳答案

cut 将是最简单的解决方案:

cut -d. -f1 <<END
hostname.anothername.ouut.ext
filename..another.anot.xxx
END
hostname
filename

for file in *; do
    prefix=${file%%.*}
    echo "$prefix"
done

关于linux - 使用linux命令分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138800/

相关文章:

unix - SSH key 映射到用户

linux - 查找命令在 centOS 中没有按预期工作

linux - Python查找最近的文件并获取大小

linux - 替换大文件中的最后一个字符(整个文件是一行)

linux - 将最后四行移动到文本文件中的第二行

shell - 使用 crypt 密码生成的 Useradd

linux - 在 AWK 中可移植地处理任意参数

linux - 如何检查提供的路径是符号链接(symbolic link)还是常规路径

shell - elisp 解析异步 shell 命令的输出

bash - 函数与脚本 - Unix Bash 编程