확장 (*, ?, [], {},"")

2dean·2023년 6월 13일
0

Linux 기초

목록 보기
7/13
post-thumbnail

확장

* 기호는 파일 이름에서 0개 ~ 전체 문자를 의미함
즉 모든 것에 해당

The ? Wildcard

The question mark(?) charactoer represent any single character.

ls app.?? 를 실행하면

app.뒤에 문자 두개가 오는 모든 파일만 출력.
확장자가 .js, .py처럼 두글자인 것만 가능하고 .css나 .html은 해당하지 않음

Range Wildcards []

문자의 범위를 나타냄
아무 한 글자만 일치하면 되는 ?와는 다르게 []는대문자 A에서 F사이의 문자라던지 숫자 1부터 9 혹은 0부터 9처럼 특정한 글자 중에서 일치해야 함.

^ not

[A-Z] : A ~ Z 까지
[^A-Z] : 로 바꿔주면 대문자로 시작하지 않는 파일과 폴더들만 나타나게 됩니다 소문자나 특수문자등으로 시작하는 것

~ tilde

~ : home directory
~ 를 사용해 확장 가능
~사용자 를 사용해 다른 사용자로 확장

{} Brace Expansion 중괄호확장

중괄호 안에 ,로 구분되어있는 값들은 각각 하나의 문자열이 되며, 중괄호 앞과 뒤에 있는 문자와 합쳐진다.

입력: touch page{1,2,3}.txt

결과: page1.txt, page2.txt, page3.txt
ddu$ echo  {Mon,Tue,Wen,Thu,Fri}_Planner.txt

##결과
Mon_Planner.txt Tue_Planner.txt Wen_Planner.txt Thu_Planner.txt Fri_Planner.txt

dddu$ echo Dec_ {Mon,Tue,Wen,Thu,Fri}_Planner.txt

##결과
ddu$ ls
Dec_ Mon_Planner.txt Tue_Planner.txt Wen_Planner.txt Thu_Planner.txt Fri_Planner.txt


ddu$ echo  {Mon,Tue,Wen,Thu,Fri}_{AM,PM}.txt

##결과
ddu$ ls
Mon_AM.txt Mon_PM.txt Tue_AM.txt Tue_PM.txt Wen_AM.txt Wen_PM.txt Thu_AM.txt Thu_PM.txt Fri_AM.txt Fri_PM.txt


ddu$ touch  {Mon,Tue,Wen,Thu,Fri}_{AM,PM}.txt

##결과
ddu$ ls
Fri_AM.txt	Mon_AM.txt	Thu_AM.txt	Tue_AM.txt	Wen_AM.txt
Fri_PM.txt	Mon_PM.txt	Thu_PM.txt	Tue_PM.txt	Wen_PM.txt


{..}

mkdir jan{1..31}

jan1 ~jan31 directory 생성

{startNum..endNum..num(간격)}

> echo {2..10..1}

## 결과
> 2,3,4,5,6,7,8,9,10

> echo {2..10..1}

## 결과
> 2,3,4,5,6,7,8,9,10

{2..10..2}는 2부터 10까지 2의 간격을 의미

Arithmetic Expansion

$((expression))
쉘이 이 계산식을 확인하고 계산식에 사용한 기호에 따라 연산을 수행함
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
** 지수연산 (10**3 => 10의 3제곱)
% modulo (나머지연산)
정수 연산만 함

Quoting

""
-> 쉘이 공복문자를 보존함 $ , \ , ` 3개 기호를 제외한 나머지 특수문자를 그대로 표현

''

profile
냅다 써보는 공부의 흔적😇

0개의 댓글