linux - 从 Shell 中的目录连接大量选择性文件

标签 linux shell unix awk cat

我在一个目录下有50000多个文件,比如file1.txt、file2.txt、.....、file50000.txt。我想连接一些文件,其文件号列在以下文本文件 (need.txt) 中。

need.txt
1
4
35
45
71
.
.
.

我尝试了以下内容。虽然它有效,但我正在寻找更简单、更快捷的方法。

n1=1
n2=$(wc -l < need.txt)
while [ $n1 -le $n2 ]
do
f1=$(awk 'NR=="$n1" {print $1}' need.txt)
cat file$f1.txt >> out.txt
(( n1++ ))
done

最佳答案

这也可能对你有用:

sed 's/.*/file&.txt/' < need.txt | xargs cat > out.txt

关于linux - 从 Shell 中的目录连接大量选择性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31538918/

相关文章:

c - UNIX 上的进程间通信

javascript - 为需要的 Node 模块创建工厂

linux - 第二个 XRDP 用户无法连接到 Azure VM 上的 GUI

java - 在 Java 中创建命令行 Shell : Begginner help

linux - 如何提取字符串和它之前的字符之间的文本?

c - 在 C 控制台应用程序 (unix) 中更新屏幕行

php - 管道 screen 到 PHP(或与此相关的任何函数)

linux - 在 Linux 上,为什么 'echo' 不能使用 ANSI 颜色代码而 'print' 可以?

python - 在Windows 10中使用Python实现文件创建任务自动化

python - 使用 Python 进行 SSH 的最简单方法是什么?