처음과 마지막 위치를 사용하여 줄에서 부분 문자열을 추출해야합니다. 나는 grep으로 쉽게해야한다고 생각하지만 여전히 방법을 알아 내지 못했다.인덱스 위치로 부분 문자열 가져 오기
예를 들어, n 개의 문자 행은 k 위치에서 시작하여 해당 행의 l 위치에서 끝나는 부분 문자열을 추출하려고합니다. > K
처음과 마지막 위치를 사용하여 줄에서 부분 문자열을 추출해야합니다. 나는 grep으로 쉽게해야한다고 생각하지만 여전히 방법을 알아 내지 못했다.인덱스 위치로 부분 문자열 가져 오기
예를 들어, n 개의 문자 행은 k 위치에서 시작하여 해당 행의 l 위치에서 끝나는 부분 문자열을 추출하려고합니다. > K
이게 당신이 원하는 것입니까?
String test = "ateststring";
String testa = test.substring(0,4);
String test2 = testa.substring(0,3);
int testc = test.indexOf("test");
String test3 = test.substring(testc,5);
System.out.println(test + ":" + testa + ":" + test2 + ":" +test3);
당신은 당신이 할 수 떠들썩한 파티를 사용하는 경우 만 수행
LINE="strings"
K=3 ## 4th character starting from index 0
L=5 ## 6th character starting from index 0
echo "${LINE:K:L - K + 1}"
파일에 대한 루프에 : 그 L을 내놓고 AWK에 관해서는
while -r read LINE; do echo "${LINE:K - 1:L - K}"; done < file
는 위치를 의미하지 0이 시작 인덱스 인 길이 :
awk -v k="3" -v l="5" '{ n = length; print substr($0, k, l - k + 1);}' < file
잘라 내기가 좋은 선택입니다. sed를 사용
$ echo "123456" | cut -c2-4
234
$ echo "123456" | cut -c1,3,6
136
$ echo "123456" | cut -c1-3,6
1236
: 당신은 범위와 개별 필드를 선택할 수 있습니다
k=3
echo '123456789' | sed 's/^.\{'$k'\}//'
출력 :
는456789
고마워 오빠! – user2266881
당신을 진심으로 환영합니다. awk는 파일의 각 라인에 이것을 적용 할 것입니다. 파일을 관리하거나 여러 줄을 입력하는 방법을 모르겠습니다. 검색하면'awk'로 더 많은 일을 할 수 있습니다. –