gpt4 book ai didi

linux - 从命令行连接文件内容

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:53 26 4
gpt4 key购买 nike

我想创建一个 shell 脚本来读取命令行参数,然后连接这些文件的内容并将其打印到标准输出。这仅适用于文本文件。

到目前为止,我已经创建了一个错误检查以确保至少有一个参数,否则会打印错误。我已经想出如何获取当前目录中的文件并将它们连接到标准输出。

#!/bin/bash

if [ $# -eq 0 ]; then
echo -e "Usage: concat FILE ...\nDescription: Concatenates
FILE(s) to standard output separating them with divider -----."
exit 1
fi

for f in *.txt; do (cat "${f}"; echo "-----"); done
exit 0

我需要调整此代码以在连接任何内容之前测试文件是否存在,我需要它来读取命令行参数并仅连接指定的文件。截至目前,此代码连接当前目录中包含“.txt”的所有内容

此脚本需要能够处理任意数量的参数,并且内容中的文本由“-----”分隔,不插入额外的空行。

我是 shell 的新手,在这方面遇到了一些麻烦。

谢谢!

最佳答案

您提到要检查文件是否存在。 *.txt 的 glob 扩展应该可以有效地做到这一点,但如果你特别偏执,你可以添加一个文件测试操作符:

if [ -f $f ];
then
# file exists do do your stuff as above
else
echo "whoa, that file $f that existed 4ms ago is no longer there!"
fi

关于linux - 从命令行连接文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57937792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com