bash - Cat 不会定位和组合存在的文件
问题描述
问题
我一直在尝试使用 cat 根据文件中的部分名称组合一堆文件,但似乎无法使其正常工作。
如果我运行cat client1* > test.tsv
它会毫无问题地创建文件(通过向文件添加一些文本进行测试),但使用下面的循环会创建没有意义的错误,因为文件存在。我在网上查了一下,盯着我的代码在我的屏幕上烧掉了一个完整的东西,但我不明白我做错了什么。
以下是我设置的一个基本示例,希望有人能够为我澄清:
代码
touch client1.tsv client2.tsv client3.tsv client4.tsv client5.tsv client6.tsv
for f in $(find*.tsv); do cp $f title-$f; done
for HEADER in $(find . -mindepth 1 -maxdepth 1 -type f -name "title-*.tsv" -printf "%f\n"); do ACCOUNT=$(echo $HEADER | sed -Ee "s/^title-//" -e "s/.tsv$//"); cat "$ACCOUNT*.tsv" > "data-$ACCOUNT.tsv"; done
输出
cat: 'client4*.tsv': No such file or directory
cat: 'client5*.tsv': No such file or directory
cat: 'client6*.tsv': No such file or directory
cat: 'client1*.tsv': No such file or directory
cat: 'client2*.tsv': No such file or directory
cat: 'client3*.tsv': No such file or directory
解决方案
推荐阅读
- javascript - 在反应中更改单个数字颜色
- opengl - OpenGL如何正确清除后台缓冲区
- django - 使用 Django REST 框架,如何解析 RESTful 字符串参数?
- python - 手写数字图像在轮廓和调整大小后无法识别
- visual-studio-code - 如何处理调用函数时自动插入的帮助文本
- kotlin - 如何在kotlin中设置关闭监听器?
- mongodb - 有没有办法在 MongoDB 中创建一个具有多个值的过滤器?
- reactjs - 本地和firebase之间的不同反应路由结果
- javascript - 获取有关将事件拖入全日历的信息
- algorithm - 用多项式方程逼近闭合曲线