filename with space

2020-04-14 08:02发布

I have written a shell script which picks all the files recursively inside all the directories and prepared a report with the file last modified, size. The problem that I am facing, there are few files with name as "User Interface"(space in between). How to use there files in the for loop of the shell script and fetch the files and directories inside this. Thanks in advance

标签: shell
3条回答
迷人小祖宗
2楼-- · 2020-04-14 08:16

Just put the file name variable between double quotes "$FILENAME"

查看更多
孤傲高冷的网名
3楼-- · 2020-04-14 08:18

You're probably trying to use something like for file in $(command). Instead, use a while read loop or a for loop with globbing. Make sure you quote variables that contain filenamess.

#!/bin/sh
command | while read -r file
do
    something_with "$file"
done

or, in shells that support process substitution:

#!/bin/bash
while read -r file
do
    something_with "$file"
done < <(command)

If you're simply iterating over a list of files:

for file in "$dir"/*
do
    something_with "$file"
done
查看更多
Viruses.
4楼-- · 2020-04-14 08:18

Google Search led me to this page

查看更多
登录 后发表回答