bash - 从 Bash 的 for 循环中写入文件
问题描述
假设我有以下 csv 文件:
A,1
A,2
B,3
C,4
C,5
对于文件第一列中的每个唯一值i
,我想编写一个使用该值进行一些处理的脚本。我这样做:
CSVFILE=path/to/csv
VALUES=$(cut -d, -f1 $CSVFILE | sort | uniq)
for i in $VALUES;
do
cat >> file_${i}.sh <<-!
#!/bin/bash
#
# script that takes value I
#
echo "Processing" $i
!
done
但是,这会为其i
循环的所有值创建空文件,并将文件的实际内容打印到控制台。
有没有办法将输出重定向到文件?
解决方案
推荐阅读
- jquery - jQuery 在评论标签后插入一个元素
- ios - 动画数组没有动画精灵
- mysql - Node.js 无法对 MySQL 8.0 进行身份验证
- javascript - 如何将 auth0 与 react-router-4 中的哈希路由器集成 .....?
- javascript - 将json文件发送到服务器
- python - 无法在 Pycharm 开发环境中安装 dict4ini
- javascript - JsPDF子数组数据推送
- java - Java - 指定类路径的 NoClassDefFound 错误
- splinter - win10如何在python3上安装splinter
- java - Java 注册表单 jsp 连接到 mongodb(需要示例链接)