首页 > 解决方案 > 我有一个包含名称的 txt 文件,我想提取名字和姓氏。我创建了 bash 脚本,但它给了我一个错误

问题描述

用于从文本文件中读出名称的 Bash 脚本。我在下面创建了脚本,它给出了错误

#!/bin/bash
file=testname.txt
while IFS= read -r line; do
last=`awk -F ', ' '{ print $1 }'` $line
    echo $last
first='awk -F ',' '{ print $2 }'' $line
    echo $first
done < "$file"

标签: bashshellunix

解决方案


假设文件中的输入数据如下

last_name, first_name

第一个字段/列包含姓氏,第二个字段/列是名字。使用外壳。

while IFS=, read -r lastname firstname; do
   printf '%s %s\n' "$lastname" "$firstname" 
done < inputfile

使用 awk

awk -F, '{printf "%s %s\n", $1, $NF}' inputfile

推荐阅读