Bạn có thể sử dụng tr
để chỉ in các ký tự có thể in từ chuỗi như sau. Chỉ cần sử dụng lệnh dưới đây trên tệp đầu vào của bạn.
tr -cd "[:print:]\n" < file1
Cờ -d
có nghĩa là để các xóa các bộ ký tự được xác định trong các đối số trên dòng đầu vào, và -c
là dành cho việc bổ sung những người (nghịch những gì đang được cung cấp). Vì vậy, nếu không có -c
lệnh sẽ xóa tất cả các ký tự có thể in khỏi luồng đầu vào và sử dụng nó bổ sung bằng cách xóa các ký tự không thể in. Chúng tôi cũng giữ ký tự dòng mới \n
để duy trì kết thúc dòng trong tệp đầu vào. Loại bỏ nó sẽ chỉ tạo ra kết quả cuối cùng trong một dòng lớn.
[:print:]
chỉ là một POSIX bracket expression là sự kết hợp của các biểu thức [:alnum:]
, [:punct:]
và khoảng trắng. Các [:alnum:]
là giống như [0-9A-Za-z]
và [:punct:]
bao gồm ký tự !
"
#
$
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
@
[
\
]
^
_
`
{
|
}
~
Mọi nhân vật đều đặc biệt theo cách riêng của mình. –
Câu hỏi của bạn không rõ ràng lắm. Đưa ra một ngữ cảnh nhiều hơn một chút có thể sẽ mang lại nhiều câu trả lời hữu ích hơn. –