首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行带有长参数的linux命令时出现文件名过长错误

运行带有长参数的linux命令时出现文件名过长错误
EN

Stack Overflow用户
提问于 2016-04-16 10:50:16
回答 1查看 3.9K关注 0票数 1

我尝试从100个文件中提取一列,然后使用下面的linux命令将它们组合在一起:cut

代码语言:javascript
复制
paste <(cut -f 5 file_1.tsv) <(cut -f 5 file_2.tsv) <(cut -f 5 file_3.tsv) ... <(cut -f 5 file_100.tsv) > combined.tsv

我得到了这个错误:

代码语言:javascript
复制
File name too long

有什么建议如何解决这个问题吗?

EN

Stack Overflow用户

发布于 2016-04-16 16:55:45

您可能会收到此消息,因为命令行大小是有限的。我建议你试着用循环来做。这里有一个你可以做的例子-当心,因为订单可能不是你想要的:

代码语言:javascript
复制
#!/bin/bash
echo "" >  combined.tsv

#build your file list
find . -name "file*tsv" |sort -k1 > list_files.lst

#the process the list
while read x ; do
  x=`basename ${x}`
  paste <(cat combined.tsv) <(cut -f 5 ${x} ) > combined${x}.tsv
  mv combined${x}.tsv combined.tsv
done< list_files.lst

#you do not need it anymore
rm list_files.lst

(这将放在一个文件中,例如myscript.sh,然后是chmod +x myscript.sh,然后像下面这样运行它

代码语言:javascript
复制
./myscript.sh

)

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36659603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档