본문 바로가기

linux

20240807

cd ../..
바로 위 디렉토리로 올라가고 또 위로 올라가기 
cd ~ 
home directory
cd / 
루트 디렉토리가기
cd ./../..
지금 있는곳에서 두번 올라가기
cd /home/user2 
home/user2디렉토리로가기
(6) cd ./../projects 
지금잇는곳에서 한칸 올라가서 프로젝츠 디렉토리가기
(7) cd ./ 
지금잇는곳
(8) cd ../../../
세번 올라가기
3 , 5번
ls -R은 모든 서브 디렉터리와 내부파일까지 파고들어 출력
ls -t 가장 최근에 수정된 시간 순서대로 정렬
grep -E '^ResearcherID|,yeast$' microbes.csv > yeast.csv

grep -E '^ResearcherID|^[^,]+,[0-4]\.' yeast.csv > yeast_solid.csv

sed -E 's/^[^,]+,(.*),[^,]+$/\1/'yeast_solid.csv >yeast_final.csv
sed -n'1,11p' yeast_final.csv

sort -t ',' -k 1,1 yeast_final.csv
SELECT r.Researcher, g.StudyTitle, g.DiseaseTrait
FROM Researcher r
JOIN GWASStudy g
	ON r.ResearcherID = g.ResearcherID
WHERE r.ResearcherID NOT IN(
	SELECT DISTINCT ResearcherID
    FROM GWASStudy
	WHERE DiseaseTrait LIKE "%Cancer%");

DISTINCT 중복 다 뺴고 출력 똑같이 생긴 줄을 하나로 합치기

SELECT DiseaseTrait, COUNT(*) AS StudyCount
FROM GWASStudy
GROUP BY DiseaseTrait
ORDER BY StudyCount DESC
LIMIT 3;

LIMIT 제한걸기

 

1. grep : 특정 컬럼 조건으로 행 거르기

  • 원리: awk를 못 쓰게 하므로, 첫 번째 컬럼을 건너뛰고 두 번째 컬럼을 타겟팅할 때는 ^[^,]+, (첫 필드와 쉼표 매칭) 패턴을 적극 활용합니다.
  • 자주 쓰는 패턴:
    • 맨 끝 컬럼이 특정 단어로 끝날 때: grep ',단어$' file.csv
    • 두 번째 컬럼이 0~4로 시작할 때 (5 미만): grep -E '^[^,]+,[0-4]\.' file.csv

2. sed : 특정 컬럼만 잘라내거나 앞뒤 날리기

  •  
  • 원리: 소괄호 ()로 살릴 영역을 묶고, 나머지는 패턴으로 잡아 \1로 덮어씁니다.
  • 자주 쓰는 패턴:
    • 첫 번째와 마지막 컬럼 삭제: sed -E 's/^[^,]+,(.*),[^,]+$/\1/' file.csv
    • 세 번째 컬럼만 남기고 다 삭제: sed -E 's/[^]*,[^Target]*,\([^,]*\),.*/\1/' file.csv

3. cut : 칼로 무 자르듯 특정 열(Column)만 가져오기

  •  
  • 원리: 구조가 아주 일정할 때 sed보다 훨씬 직관적이고 빠릅니다.
  •  
  • 주의점: 반드시 -d ','를 붙여서 구분자가 쉼표임을 알려주어야 합니다.
  • 자주 쓰는 패턴:
    • 1번째와 3번째 컬럼만 쏙 뽑아내기: cut -d ',' -f 1,3 file.csv
    • 3번째 컬럼부터 끝까지 다 가져오기: cut -d ',' -f 3- file.csv

4. tr : 쉼표를 바꾸거나 자질구레한 기호 청소하기

  • 원리: 문자 1대1 치환이므로 단어 치환은 불가능하지만, CSV의 구분자를 바꿀 때 최고의 효율을 냅니다.
  • 주의점: 파일명을 인자로 직접 못 받으므로 파이프(|)나 리디렉션(<)을 씁니다.
  • 자주 쓰는 패턴:
    • CSV 파일을 탭(TSV) 파일로 변환할 때: cat file.csv | tr ',' '\t'
    • 문장 안의 대괄호 []를 등호 =로 청소할 때: cat file.csv | tr '[]' '=='

5. sort : 특정 열 기준으로 줄 세우기

  •  
  • 원리: 정렬할 때 어떤 칸을 기준으로 삼을지 명시합니다.
  • 주의점: cut과 마찬가지로 -t ',' 옵션이 필수입니다.
  • 자주 쓰는 패턴:
    • 2번째 컬럼 기준으로 숫자 내림차순 정렬: sort -t ',' -k 2,2 -rn file.csv
    • 1번째 컬럼 기준으로 문자 오름차순 정렬: sort -t ',' -k 1,1 file.csv

'linux' 카테고리의 다른 글

20240604  (0) 2026.06.07
series 13 14 15  (0) 2026.06.07
GREP  (0) 2026.06.07
20250813  (0) 2026.06.07
20250527  (0) 2026.06.07