다음과 같은 텍스트(csv) 파일이 있습니다.
Date:;Time:;Value:;
20181202;112044;38274658392;
20181207;121356;94843726283;
20181221;221012;93938272189;
20181230;071234;93736473783;
20190107;011022;27339393022;
20190112;042346;84739298321;
column -s';' -t file
올바른 형식의 출력을 얻기 위해 사용하는 것 :
Date: Time: Value:
20181202 112044 38274658392
20181207 121356 94843726283
20181221 221012 93938272189
20181230 071234 93736473783
20190107 011022 27339393022
20190112 042346 84739298321
굵은 글씨로 텍스트 파일의 첫 번째 줄을 인쇄하는 쉬운 방법이 있습니까?
나는 그것이 tput
bash와 함께 사용될 수 있다는 것을 알고 있습니다.
bold=$(tput bold)
reset=$(tput sgr0)
첫 줄의 시작과 끝 부분에 어떻게 추가하나요? sed
지금 생각 중인데 ...
답변1
나는 awk
이것을 사용할 수 있다고 생각합니다 :
column -s\; -t file | awk -v bld=$(tput bold) -v rst=$(tput sgr0) 'NR == 1{$0 = bld$0rst} 1'
그러면 열 출력의 첫 번째 행이 굵게 표시됩니다.
답변2
ANSI 이스케이프를 사용하는 또 다른 sed
솔루션은 Stephen Harris의 정규식을 사용하는 것입니다.
<file sed "1s/\(.*\)/\x1b[1m\1\x1b[0m/" | column -s\; -t
ANSI 이스케이프에 사용되는 \x1b
8진수의 16진수 값은 어디에 있습니까?\033
printf '\033[1m%s\033[0m\n' hello
# or
printf '\x1b[1m%s\x1b[0m\n' world