폴더에서 파일 이름을 얻는 방법

폴더에서 파일 이름을 얻는 방법

다음 논리에 대한 프로그램을 작성하고 싶습니다.

  • 폴더에 있는 파일 이름 가져오기
  • 각 파일에 대해 다음을 수행합니다.
    • 파일 이름 인쇄
    • 파일을 다른 새 폴더로 이동합니다( dd_mm_yy동일한 이름 형식).

답변1

전체 경로에서 파일 이름을 얻으려면 다음을 사용할 수 있습니다.기본 이름:

$ basename /home/cuonglm/test.pl 
test.pl

그래서 당신은 이것을 할 수 있습니다 :

for f in *; do
  filename="$(basename -- "$f")"
  # Do sftuff here
done

답변2

귀하의 질문이 불분명합니다. 나는 당신이 대상 파일 이름을 파일 수정 시간으로 만들고 파일의 원래 이름은 신경 쓰지 않는다고 가정합니다. 오류가 있으면 정정해 주세요.

배쉬 스크립트. 용법:./script.sh original_dir dest_dir

#!/bin/bash
find "$1" -maxdepth 1 -exec bash -c '
echo "$1"
export LANG=C
name=$(stat -c "%y" . | sed -r  "s/..(..)-(..)-(..).*/\3-\2-\1/")
mv -iT $0 '"$1"'/"$name"' "{}" \;

관련 정보