What's the best way to print all the files listed in a directory and the numer of files using a for loop? Is there a better of doing this?
#!/bin/bash
target="/home/personal/scripts/07_22_13/ford/$1"
for file in "$target"/*
do
printf "%s\n" "$file" | cut -d"/" -f8
done
Here is a solution:
#!/bin/bash
target="/home/personal/scripts/07_22_13/ford/$1"
let count=0
for f in "$target"/*
do
echo $(basename $f)
let count=count+1
done
echo ""
echo "Count: $count"
If you don't want to deal with parsing the path to get just the file names, another solution is to cd
into the directory in question, do your business, and cd
back to where you were:
#!/bin/bash
target="/home/personal/scripts/07_22_13/ford/$1"
pushd "$target" > /dev/null
let count=0
for f in *
do
echo $f
let count=count+1
done
popd
echo ""
echo "Count: $count"
The pushd
and popd
commands will switch to a directory, then return.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With