2013-06-14 27 views
75

là một cái gì đó như thế này:Lệnh linux cat có thể được sử dụng để ghi văn bản vào tệp không?

cat "Some text here." > myfile.txt 

có thể? Vì vậy, nội dung của myfile.txt giờ đây sẽ bị ghi đè thành:

Some text here. 

Điều này không hiệu quả đối với tôi, nhưng cũng không ném bất kỳ lỗi nào.

Đặc biệt quan tâm đến giải pháp dựa trên cat (không phải vim/vi/emacs, v.v.). Tất cả các ví dụ trực tuyến chương trình cat sử dụng kết hợp với đầu vào tập tin, không văn bản thô ...

Trả lời

94

Đó là những gì echo làm:

echo "Some text here." > myfile.txt 
108

Âm thanh như bạn đang tìm kiếm một Here document

cat > outfile.txt <<EOF 
>some text 
>to save 
>EOF 
26

Dưới đây là một cách khác -

cat > outfile.txt 
>Enter text 
>to save press ctrl-d 
+0

chỉ CTRL-C hoạt động trong thiết bị đầu cuối của tôi để thoát/lưu. – edib

+0

bạn đang sử dụng Linux nào?và bạn đang sử dụng thiết bị đầu cuối mặc định? –

+2

Đó là macosx. ctrl-d hoạt động trên ubuntu. – edib

6
cat > filename.txt 

nhập văn bản đến EOF cho tiết kiệm việc sử dụng văn bản: Ctrl + d

nếu bạn muốn đọc tập tin .txt sử dụng

cat filename.txt 

và một điều .txt là không bắt buộc, nó cho bạn tham khảo.

0

cat cũng có thể được sử dụng sau một | để viết thư cho một tập tin, ví dụ: ống feeds mèo một dòng dữ liệu

6

tôi sử dụng đoạn mã sau để viết văn bản thô vào tệp, để cập nhật CPU-settings của tôi. Hy vọng điều này sẽ giúp bạn! Tập lệnh:

#!/bin/sh 

cat > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor <<EOF 
performance 
EOF 

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF 
performance 
EOF 

Điều này ghi văn bản "hiệu suất" cho hai tệp được đề cập trong tập lệnh ở trên. Ví dụ này ghi đè lên dữ liệu cũ trong các tệp.

Mã này được lưu lại dưới dạng một tập tin (cpu_update.sh) và để làm cho nó chạy thực thi:

chmod +x cpu_update.sh 

Sau đó, bạn có thể chạy các kịch bản với:

./cpu_update.sh 

NẾU BẠN THẬT SỰ không muốn ghi đè dữ liệu cũ trong tệp, hãy chuyển đổi

cat > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF 

với

cat >> /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor <<EOF 

Điều này sẽ nối văn bản của bạn vào cuối tệp mà không xóa dữ liệu khác đã có trong tệp.

Các vấn đề liên quan