/usr/local/bin/firefox
위 문자열에서 firefox만 꺼내오기..
1. basename /usr/local/bin/firefox
basename은 경로명을 지운 파일명을 출력한다.
2. echo /usr/local/bin/firefox |awk -F/ '{print $NF}'
echo로 문자열을 찍어주면 그 찍혀진 문자열을 이용하여 awk 명령어를 날려준다.
여기서 '-F' 뒤의 '/'는 구분자값을 나타낸 것이고 NF는 마지막번째 숫자
$는 마지막 번째 문자열을 의미한다.
"bash", is the "Bourne again shell"
현재 디렉토리에서 현재 경로 바로 밑에 있는 디렉토리명 출력하기
1. ls -l |grep ^d
2. ls -F |grep \/$
3. ls -l | grep ^d | awk '{print $9}'
위 문장은 디렉토리에 공백이 있으면 구분하지 못한다. 그러므로 4번 추천
4. ls -l | grep ^d | awk '{for (i = 9; i <= NF; i++) printf("%s ",$i);printf("\n")}'
5. ls -lad */
위의 방법은 제일 간단한 방법이다.
그러나 디렉토리 가장 뒷 부분에 '/' 문자가 또 붙어서 aaa//와 같이 출력이 되는 부분이 있다.
출력 결과를 갖고 프로그래밍을 하려면 5번 방법은 비추천이다.
그러나 그저 간단하게 현재 디렉토리의 하위 디렉토리들을 보고 싶다면...^^;;
한꺼번에 특정 파일 컴파일 하기
1. ll *.c | awk '{print $9}' | xargs cc -c
XARGS 명령어를 이용함.
참조 링크
Bash 쉘 메뉴얼
http://www.gnu.org/software/bash/manual/bashref.html
|