ls *
output :
dossier_1:
vc.all.2019.09.17.Tue.gz vc.all.2019.09.19.Thu.gz vc.all.2019.09.21.Sat.gz vc.all.2019.09.22.Sun.gz vc.all.2019.09.24.Fri.gz
vc.all.2019.09.18.Wed.gz vc.all.2019.09.20.Fri.gz vc.all.2019.09.22.Sun vc.all.2019.09.23.Mon vc.all.2019.09.25.Wed.gz
dossier_2:
vc.all.2019.09.17.Tue.gz vc.all.2019.09.18.Wed.gz vc.all.2019.09.19.Thu.gz vc.all.2019.09.20.Fri.gz vc.all.2019.09.21.Sat.gz vc.all.2019.09.22.Sun vc.all.2019.09.22.Sun.gz vc.all.2019.09.23.Mon
dossier_3:
vc.all.2019.09.17.Tue.gz vc.all.2019.09.18.Wed.gz vc.all.2019.09.19.Thu.gz vc.all.2019.09.20.Fri.gz vc.all.2019.09.21.Sat.gz vc.all.2019.09.22.Sun vc.all.2019.09.22.Sun.gz vc.all.2019.09.23.Mon
If I do
ls * | grep -v "gz"
On my directory, I find :
dossier_1:
vc.all.2019.09.22.Sun
vc.all.2019.09.23.Mon
dossier_2:
vc.all.2019.09.22.Sun
vc.all.2019.09.23.Mon
dossier_3:
vc.all.2019.09.22.Sun
vc.all.2019.09.23.Mon
What is the command if I want this output :
dossier_1:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
vc.all.2019.09.24.Fri.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.25.Wed.gz
dossier_2:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
vc.all.2019.09.24.Fri.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.25.Wed.gz
dossier_3:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
vc.all.2019.09.24.Fri.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.25.Wed.gz
I want to display the name of the directory and his own files with only .gz extension.
But I don't know how to do this.
Can you help me ?
Thank you !
Here is a way to do it using awk
ls -A1 * | awk '/(^|:|\.gz)$/'
dossier_1:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
vc.all.2019.09.24.Fri.gz
vc.all.2019.09.25.Wed.gz
dossier_2:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
dossier_3:
vc.all.2019.09.17.Tue.gz
vc.all.2019.09.18.Wed.gz
vc.all.2019.09.19.Thu.gz
vc.all.2019.09.20.Fri.gz
vc.all.2019.09.21.Sat.gz
vc.all.2019.09.22.Sun.gz
ls -A1 *
list all files (names only) in all folder, one line at the time/(^|:|\.gz)$/
find all lines that are empty
, ends with :
or ends with .gz
and print them.