bash - 找到字段的编号

标签 bash shell unix awk

我在文件中有这一行:

,2,353867835022;11,353681041426390,272023201187741,272-02f-20017-06609,353854100352;11,,,,,,,0854100352,3,00,,O,D,DATA,,,7124395,,,17687,16,HPLMN,M20MSS_TTFILE_8377_20110528170245,M20MSS,W30B22I;0GRI3,1,20110528130013,170054,1,41,,,,,,,,0,,,,,,,,,,,,,,,,,,353868001820,,,,b60a5c0014,1:353867835022::::0854100352::353854100352,,,,,,,,

是的, 这是一个逗号“,”分隔的文件。有一个数字 17687 。我想知道该行中该字段的编号是多少。 我想将其用作基础并将其包含在 shell 脚本中。

最佳答案

字段#26:

% awk -F',' '/17687/ {
    for (f = 0; f < NF; ++f) {
        if ($f == "17687") {
            print $f " found in field number " f " of " NF " on line " NR "."
        }
    }
}' test.csv
17687 found in field number 26 of 75 on line 1.

这允许在多行的多个字段中查找 17687。

希望这对您有所帮助。

关于bash - 找到字段的编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6106440/

相关文章:

c - Shell 重定向不会移动标准输出的文件位置

linux - 在Entrypoint中执行sh命令

shell - 为什么 read 没有正常的手册页?

linux - 每秒 Ping 服务器以查看正常运行时间

c++ - 如何将 C/C++ 代码与 C-shell-script 捆绑在一起?

c - 如何在 Ubuntu 上打开一个非修饰的全屏窗口

bash - 如何在 bash3.x 中获取子 shell 的 PID?

linux - 在获取 .bashrc 后,如何在使用 ssh 登录时在远程执行命令?

python - 这是在 Python 中运行 shell 脚本的正确方法吗?

linux - 为什么将变量重定向到 stdin 变量时必须用双引号引起来?