
탭으로 구분된 파일의 특정 열에서 "CC"를 "C"로, "AA"를 A"로 바꾸고 싶습니다( awk
아마도 사용).
답변1
awk -F'\t' -vOFS='\t' '{ gsub("CC", "C", $1) ; gsub("AA", "A", $1) ; print }'
$1
수정하려는 열로 바꾸세요 .
답변2
에 대한 액세스 권한은 없지만 gsub()
에 대한 액세스 권한이 있는 경우 split()
다음과 같이 동등한 항목을 만들 수 있습니다.
입력이 주어지면
AA AA CC CC AA CC
다음 awk
스크립트
BEGIN {
OFS = "\t";
split("1 3 5", Fields);
split("A C", Replacements);
}
{
for (i in Fields) {
for (j in Replacements) {
Replace = Replacements[j];
sub(Replace Replace, Replace, $Fields[i]);
}
}
print;
}
필드 1, 3, 5에 대해 원하는 결과를 생성합니다.
A AA C CC A CC
블록 에 및 배열을 split()
하드 코딩하려는 경우 에도 가능합니다 .Fields
Replacements
BEGIN
답변3
한 필드에서 찾아서 바꾸려면 다음 명령을 사용하십시오.
sed 's/whatyouwanttofind/whatyouwanttoreplace/field#'
즉, 다음과 같이 에코합니다.
$echo -e "1are,2are,3are,4are\n5are,6are,7are,8are"
1are,2are,3are,4are
5are,6are,7are,8are
그리고 당신은 이것을하고 싶어
$echo -e "1are,2are,3are,4are\n5are,6are,7are,8are" | sed 's/are/arrr/2'
1are,2**arrr**,3are,4are
5are,6**arrr**,7are,8are