본문 바로가기
Linux

리눅스 11일차(3) - Split Command

by 느긋한모모 2024. 3. 19.

### string scope...

echo "s{str:offset:length}" // 옵션 순서 str:첫 시작:길이

 

## string1.sh // str에서 0에서 5개 출력

#!/bin/bash

str="Hello, World, Linux!"
echo "${str:0:5}"

 

# chmod +x *.sh

 

# ./string1.sh

Hello

 

##string2.sh // 7번째에서 끝까지(옵션을 안 주었기 때문에) 출력

#!/bin/bash

str="Hello, World, Linux!"
echo "${str:7}"

 

# ./string2.sh

World, Linux

 

## string3.sh // 뒤에서 7번쨰부터 끝까지

#!/bin/bash

str="Hello, World, Linux!"
echo "${str:(-7)}"

 

# ./string3.sh
 Linux!

 

## string4.sh // 뒤에서 7번째부터 4개

#!/bin/bash

str="Hello, World, Linux!"
echo "${str:(-7):4}"

 

# ./string4.sh
 Lin

 

## string5.sh // 8~12의 글자(chracter)를 출력

#!/bin/bash

str="Hello, World, Linux"
echo $str | cut -c 8-12

 

# ./string5.sh
World

 

## pattern1.sh // # 앞에서부터 패턴 찾기

#!/bin/bash

str="AAABBBCCC"
echo "${str#A*B}"

 

# ./pattern1.sh

BBCCC

A를 지나서 첫번째 B를 만날때까지를 제외하고 출력 #는 행의 시작이라고 생각하면 편함

 

## pattern2.sh

#!/bin/bash

str="AAABBBCCC"
echo "${str##A*B}"

 

# ./pattern2.sh

CCC

## : 끝까지

 

## pattern3.sh // % 뒤에서부터 패턴 찾기

#!/bin/bash

str="AAABBBCCC"
echo "${str%A*B}"

 

# ./pattern3.sh

AAABB

 

## pattern4.sh // 뒤에서부터 패턴 끝까지

#!/bin/bash

str="AAABBBCCC"
echo "${str%%A*B}"

 

# ./pattern4.sh

AAA

 

# for i in {1..100}; do printf "%03d %s\n" $i $(openssl rand

: 그냥 랜덤 숫자로 채운 숫자들임 100개의 넘과 헥사값이 채워짐

 

# cat split-test

 

# split -l 10 split-test -> 10개씩 잘라서 만들어짐

 

# ll xa*

// xaa xab ... 처럼 저장된다.

 

# ll xa* | wc -l

10

 

# cat xaa | wc -l

 

# rm -rf xa*

 

# split -n 5 split-test

// 5개의 파일로 만들어짐

 

# ll xa* | wc -l

5

 

# cat xaa | wc -l

 

# rm -rf xa*

 

 

 

 

'Linux' 카테고리의 다른 글

리눅스 11일차(4) - diffText  (0) 2024.03.20
리눅스 11일차(2) - Paste command  (0) 2024.03.18
리눅스 11일차(1) - Cut command  (0) 2024.03.18
리눅스 10일차(3) - Shell Script  (0) 2024.03.18
리눅스 10일차(2) - Shell Script  (0) 2024.03.18