blob: 17fe2f6d94cd4fab98790f8f9f92e1e3fb72a500 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#!/usr/bin/perl
2#
3# Copyright Statement:
4# --------------------
5# This software is protected by Copyright and the information contained
6# herein is confidential. The software may not be copied and the information
7# contained herein may not be used or disclosed except with the written
8# permission of MediaTek Inc. (C) 2005
9#
10# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
11# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
12# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
13# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
14# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
15# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
16# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
17# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
18# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
19# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
20# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
21# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
22#
23# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
24# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
25# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
26# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
27# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
28#
29# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
30# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
31# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
32# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
33# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
34#
35#
36#*****************************************************************************
37#*****************************************************************************
38##*
39##* Filename:
40##* ---------
41##* dir.pl
42##*
43##* Project:
44##* --------
45##* Maui_Software
46##*
47##* Description:
48##* ------------
49##* list directory contents
50##*
51##* Author:
52##* -------
53##* kk Lin-Wang (mtk04222)
54##*
55##*============================================================================
56use strict;
57use warnings;
58use File::Basename;
59
60($#ARGV < 0) && &Usage;
61
62my $newline = 0;
63my $basename = 0;
64my @target;
65
66# parse parameters
67foreach my $arg (@ARGV)
68{
69 if ($arg =~ /^\-n\b/i)
70 {
71 $newline = 1;
72 }
73 elsif ($arg =~/^\-b\b/i)
74 {
75 $basename = 1;
76 }
77 else
78 {
79 push(@target,$arg);
80 }
81}
82($#target > 0) && &Usage;
83
84# glob the parameter, if not found then invoke sub not_found()
85my @filelist = <$target[0]>;
86&not_found if(!@filelist);
87
88my $all_not_found = 1;
89foreach my $file (@filelist)
90{
91 if( -e $file){
92 $file = basename($file) if($basename == 1);
93 print "$file";
94
95 if ($newline == 0){
96 print "\t";
97 }
98 else
99 {
100 print "\n";
101 }
102 $all_not_found = 0;
103 }
104}
105
106&not_found if($all_not_found == 1);
107print "\n" if($newline == 0);
108
109sub not_found
110{
111 die "[Error:][dir.pl] File Not Found $!";
112}
113#my $path = $ARGV[0];
114#opendir(DIR, $path) || die "[dir.pl][Error:] failed $!";
115#my @dirs = grep !/^\./, readdir(DIR);
116#foreach my $file (@dirs)
117#{
118# print "$file\t";
119#}
120#print "\n";
121#closedir(DIR);
122
123
124#******************************************************************************
125## FUNCTION
126## Usage
127## DESCRIPTION
128## Display the manipulation of this script
129##******************************************************************************
130sub Usage
131{
132 warn <<"_END_OF_USAGE";
133Usage:
134 perl dir.pl [Path]
135Description:
136 list directory contents
137 -n list by \\n, default is \\t [ex3]
138 -b display the file name and extension only [ex4]
139Example:
140 List_folder:
141 foo.pl
142 sum.pl
143 =====================================
144 ex1:
145 Command:
146 perl dir.pl "List_folder/"
147 Output:
148 List_folder/
149 ------------------------------------
150 ex2:
151 Command:
152 perl dir.pl "List_folder/*.pl"
153 Output:
154 List_folder/foo.pl List_folder/sum.pl
155 ------------------------------------
156 ex3:
157 Command:
158 perl dir.pl -n "List_folder/*.pl"
159 Output:
160 List_folder/foo.pl
161 List_folder/sum.pl
162 ------------------------------------
163 ex4:
164 Command:
165 perl dir.pl -b -n "List_folder/*.pl"
166 Output:
167 foo.pl
168 sum.pl
169 ------------------------------------
170 ex5:
171 Command:
172 perl dir.pl "List_folder/*.c"
173 Output:
174 [Error:][dir.pl] File Not Found
175 ------------------------------------
176
177_END_OF_USAGE
178 exit 1;
179}
180