linux - 将 awk 输出存储在变量中

标签 linux bash shell awk

我忽略这段代码有什么问题?

#! /bin/bash
File1=$1
for (( j=1; j<=3; j++ ))
{
    output=$(`awk -F; 'NR=='$j'{print $3}' "${File1}"`)
    echo ${output}
}

文件 1 看起来像这样:

Char1;2;3;89
char2;9;6;66
char5;3;77;8

我想在每一行中提取循环字段 3

所以结果会是

3
6
7

最佳答案

应该是这样的:

#! /bin/bash
File1=$1
for (( j=1; j<=3; j++ ))
{
                output=$(awk -F ';' 'NR=='$j' {print $3}' "${File1}")
                echo ${output}
}

它在我的 CentOS 上运行良好。

关于linux - 将 awk 输出存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37971558/

相关文章:

linux - Wget - 输出目录前缀

linux - 使用 cut 显示来自上一个命令 linux 的信息

python - 表达式 awk,python 中的字符无效

python - 退出脚本后如何返回到 python shell?

php - 从 php 执行 shell 脚本在 Windows (Xampp) 上打开文件

mysql - Windows 和 ubuntu 上的 SQL timeStamp 格式不同

linux - 如何使用 `waitpid`等待Rust中的进程?

c - system() 函数,同时 SIGCHLD 被忽略

linux - 如果定义了变量 1,则变量 2 必须为空,在 bash 中反之亦然

linux - ksh shell 脚本查找字符串中第一次出现的 _ 并删除所有内容,直到出现