bash - 我有一个包含名称的 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"
解决方案
假设文件中的输入数据如下
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
推荐阅读
- swift - Swift 是否支持模式匹配?
- r - 用另一个数据框替换一个数据框的一部分
- c++ - ref_view 的 transform_view 不能通过管道传输?
- python - Flutter Dart 与 Python websock。我在服务器上收到空消息
- html - uikit 下拉列表第一个元素不起作用,而其他 uikit 下拉列表是
- java - Spring Reactor Flux,如何订阅和稍后阻塞直到全部完成
- django - 如何从模板单击按钮时在 django 上增加 IntegerField?
- c++ - 使用 std::stringstream 将 std::wstring 转换为无符号字符
- c++ - 成员初始值设定项列表中的构造函数参数选择
- ios - 由于插入核心数据([NSManagedObjectContext insertObject:]),应用程序启动时崩溃