你好,
我正在编写一个简单的 bash 脚本,需要将文件的内容解析为数组。文件中的条目以“换行符”分隔——所以文件看起来像这样:
path/to/file
path/to/other/file
Run Code Online (Sandbox Code Playgroud)
我想解析内容并迭代它们。我的代码目前看起来像:
CONTENT=`cat /path/to/text/file.txt`
for PATH in $CONTENT
do
echo $PATH
chmod -R 440 $PATH
fi
Run Code Online (Sandbox Code Playgroud)
此代码适用于带有 UNIX 行结尾的文件。但是,对于 Windows 格式的文本文件,它会令人窒息。“echo $PATH”语句生成正确的路径,但 chmod 失败,表示该文件不存在。我的诀窍是 Windows 行尾没有被修剪,所以它试图修改一个包含换行符的文件路径。
无论目标文件是使用 Unix 还是 Windows 换行符创建的,我都需要使这件事起作用——但鉴于我对 shell 脚本有点陌生,我不太确定该怎么做。
我感谢您的帮助!