echo를 결합하여 .*/ 및 */의 단일 결과를 생성할 수 있습니까?

echo를 결합하여 .*/ 및 */의 단일 결과를 생성할 수 있습니까?

echo명령은 전달된 표현식에 따라 다른 결과를 출력합니다. 작업 디렉토리는/home/etc

$ echo .*/
/ ../ .cache/ .config/ .gnupg/ .local/ .mozilla/ .ssh/

$ echo ./*
./Desktop ./Documents ./Downloads ./Music ./Pictures ./Public ./snap ./Templates ./Videos

$ echo .*/*
.cache/event-sound-cache.tdb.d410907cf15246578458d0ad7919eb5e.x86_64-pc-linux-gnu .cache/evolution .cache/fontconfig .cache/gnome-screenshot .cache/gnome-software .cache/gstreamer-1.0 .cache/ibus .cache/ibus-table .cache/libgweather .cache/mesa_shader_cache .cache/mozilla .cache/thumbnails .cache/ubuntu-report .cache/update-manager-core .cache/wallpaper .config/dconf .config/enchant .config/eog .config/evolution .config/gedit .config/gnome-initial-setup-done .config/gnome-session .config/goa-1.0 .config/gtk-3.0 .config/ibus .config/nautilus .config/pulse .config/rclone .config/update-notifier .config/user-dirs.dirs .config/user-dirs.locale ./Desktop ./Documents ./Downloads .gnupg/private-keys-v1.d .gnupg/pubring.kbx .gnupg/trustdb.gpg .local/share .mozilla/extensions .mozilla/firefox .mozilla/systemextensionsdev ./Music ../ec ./Pictures ./Public ./snap ./Templates ./Videos

$ echo */*/
Downloads/sync/ Downloads/testdir/ snap/gnome-calculator/

목표는 출력을 얻기 위한 명령 수를 줄이는 것입니다. 출력 echo .*/echo ./*그 이상을 결합 하는 단일 echo 문을 갖는 것이 가능합니까 echo .*/ */?

답변1

dot-files(점으로 시작하는 파일) 및 file-expansion(일명 와일드카드 목록 파일)이 기본적으로 파일과 일치하지 않는다는 것을 알고 있다고 가정합니다 .

당신은 얻을 수 있습니다하나이렇게 하시면 다음 사항을 기재해 주십시오.

$ echo .*/ ./* .*/* */*/

그것이 당신이 묻고 싶은 것이라면.


문제는 이제 된다.

echo .*/ */ 외에도 echo .*/ 및 echo ./*의 출력을 결합하는 단일 echo 문을 가질 수 있습니까?

pwd : (이식 가능)에 파일 *과 도트 파일을 나열한다고 가정하면 대답은 '예'입니다..*

find * -maxdepth 1 -type d

배쉬만:

shopt -s dotglob
echo */

답변2

이는 쉘에 의해 수행됩니다. 응답 없음.

이것은 아마도 당신이하려는 일과 더 비슷할 것입니다. ( shopt -s dotglob; echo * )모든 파일을 나열하지만 ....

그것은 bash에서 작동합니다.

답변3

echo 명령은 전달된 표현식에 따라 다른 결과를 출력합니다.

이것은 근본적인 오해입니다. 이 echo명령은 어떤 표현식도 볼 수 없으며 단지 인수로 받은 문자열 리터럴 집합을 출력합니다.

쉘은 명령줄을 평가한 다음 첫 번째 단어를 명령으로 실행하고 모든 후속 단어를 인수로 전달하는 역할을 합니다.

관련 정보