공백이 많은 줄을 읽고 출력에서 유지 (Reading lines with a lot of spaces and maintaining them in output)


문제 설명

공백이 많은 줄을 읽고 출력에서 유지 (Reading lines with a lot of spaces and maintaining them in output)

다음과 같은 파일이 있지만 훨씬 더 큽니다.

xxxxxxx                                              xxxxx                 xxxx
yyyyyyy                                              yyyyy                 yyyy
zzzzzzz                                              zzzzz                 zzzz
bbbbbbb                                                                    bbbb

하지만 훨씬 더 큽니다. 두 번째 열과 세 번째 열을 비교하고 싶습니다. 처음 4자리만 작성했습니다. 다음과 같이 :

while IFS='' read ‑r line; do

a=${line:181:4}
b=${line:276:4}
str1="$a"
str2="$b"

# echo $a
# echo $b
# echo $str1
# echo $str2

if [[ "$str1" == "$str2" ]]
then

      echo $line >> $1.diffs.txt
fi

done <$1

str*의 이유는 숫자가 때때로 0으로 시작하여 8진수로 해석하여 오류가 발생하기 때문입니다. 제 문제는 $1.diffs.txt의 출력이 모든 공백 대신 1개의 공백만 포함합니다. IE

출력:

xxxxxxx                                              xxxxx              xxxx
yyyyyyy                                              yyyyy                 yyyy
zzzzzzz                                              zzzzz                 zzzz

참조 솔루션

방법 1:

You could use awk in place of your existing shell script:

awk '{ if (substr($2,0,4) == substr($3,0,4)) { print $0 }}' $1 > $1.diffs.txt

awk separates on whitespaces by default, so you can do your comparison with the variables $2 and $3 instead of having to manually define the substring positions

(by onlyfarco444)

참조 문서

  1. Reading lines with a lot of spaces and maintaining them in output (CC BY‑SA 2.5/3.0/4.0)

#tabs #bash #space #while-loop






관련 질문

양식 제출 후 현재 탭 유지 (Keeping the current tabs after submitting the form)

슬라이드다운 탭이 예상대로 작동하지 않음 (Slide-down tabs not working as expected)

일부 장치 Android에서 ViewPager가 작동하지 않음 (ViewPager not working on some devices Android)

ScrollView가 조각에서 작동하지 않습니다 (ScrollView doesn't work in fragment)

공백이 많은 줄을 읽고 출력에서 유지 (Reading lines with a lot of spaces and maintaining them in output)

Google지도 조각을 찾을 수 없습니다 (Can't find google maps fragment)

kaldi 설치 시 libmkl_tbb_thread.so sth 관련 문제 (A problem related to libmkl_tbb_thread.so sth when installing kaldi)

링크 클릭 시 새 탭 또는 창에서 특정 링크 열기 (Open specific link in new tab or window on link clicking)

Vue.js uiv 라이브러리의 Tab 구성 요소에 대한 클래스를 설정하는 방법은 무엇입니까? (How to set up classes for Vue.js uiv library's Tab component?)

Foundation 탭이 초기화되었는지 확인하는 방법은 무엇입니까? (How to check if Foundation tabs are initialized?)

고유 참조가 없는 한 HTML 페이지의 여러 탭(ID 또는 클래스 없음) (Multiple tabs in one HTML page without unique reference (no ID or class))

Angular Slickgrid 예제 24에서 Angular slickgrid 및 ngfor를 사용하여 동적으로 탭 만들기 (Dynamically create tabs with Angular slickgrid and ngfor in Angular Slickgrid Example 24)







코멘트