问题描述
问题
我一直在尝试使用 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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)