Làm cách nào bạn chèn một thông báo bản quyền ở đầu mỗi tập tin?Chèn tin nhắn bản quyền vào nhiều tập tin
8
A
Trả lời
12
#!/bin/bash
for file in *; do
echo "Copyright" > tempfile;
cat $file >> tempfile;
mv tempfile $file;
done
giải pháp đệ quy (tìm tất cả .txt
tập tin trong tất cả các thư mục con):
#!/bin/bash
for file in $(find . -type f -name \*.txt); do
echo "Copyright" > copyright-file.txt;
echo "" >> copyright-file.txt;
cat $file >> copyright-file.txt;
mv copyright-file.txt $file;
done
Sử dụng thận trọng; nếu không gian tồn tại trong tên tệp, bạn có thể nhận được hành vi không mong muốn.
0
Bạn có thể sử dụng kịch bản này đơn giản
#!/bin/bash
# Usage: script.sh file
cat copyright.tpl $1 > tmp
mv $1 $1.tmp # optional
mv tmp $1
danh sách tập tin có thể được quản lý thông qua tìm tiện ích
5
sed
echo "Copyright" > tempfile
sed -i.bak "1i $(<tempfile)" file*
Hoặc shell
#!/bin/bash
shopt -s nullglob
for file in *; do
if [ -f "$file" ];then
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
fi
done
để làm điều đó đệ quy , nếu bạn có cơ sở h 4,0
#!/bin/bash
shopt -s nullglob
shopt -s globstar
for file in /path/**
do
if [ -f "$file" ];then
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
fi
done
hoặc sử dụng find
find /path -type f | while read -r file
do
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
done
+0
được thực hiện rất tốt. Bạn đã giới thiệu rất nhiều kỹ thuật ở đây. Tôi sẽ nghiên cứu chúng sau này. cảm ơn bạn. –
0
Làm việc trong Mac OSX:
#!/usr/bin/env bash
for f in `find . -iname "*.ts"`; do # just for *.ts files
echo -e "/*\n * My Company \n *\n * Copyright © 2018 MyCompany. All rights reserved.\n *\n *\n */" > tmpfile
cat $f >> tmpfile
mv tmpfile $f
done
Các vấn đề liên quan
- 1. Gửi tin nhắn SMS/Tin nhắn văn bản qua PHP
- 2. Mã hóa tốt? (Nhiều Vòng Tin Nhắn)
- 3. Nối văn bản vào cuối tập tin
- 4. Tin nhắn lạ khi dán văn bản
- 5. lưu tin nhắn pylint vào một tệp
- 6. Cách thêm thông tin bản quyền vào một tệp Nib?
- 7. django/tập tin tải lên quyền
- 8. IOS Jailbreak Làm cách nào để chặn tin nhắn SMS/tin nhắn văn bản
- 9. gửi tin nhắn văn bản qua .net
- 10. Smalltalk ủy quyền/lưu trữ bộ chọn tin nhắn
- 11. Vòng tin nhắn Erlang
- 12. Viết số vào một tập tin văn bản - tập tin batch
- 13. Thay đổi quyền truy cập tập tin của nhiều tập tin qua thiết bị đầu cuối Unix
- 14. Tin nhắn đa luồng trong các gói tin
- 15. BackboneJS Tin nhắn flash
- 16. Thêm một dòng mới vào tập tin?
- 17. Hàng đợi tin nhắn an toàn với nhiều chủ đề
- 18. Nhận tin nhắn WhatsApp
- 19. mvvm light - nhắn tin
- 20. Rails luồng nhắn tin
- 21. Cách sửa đổi/bản địa hóa "Ứng dụng này không có quyền truy cập vào .." tin nhắn bảo mật
- 22. của Ruby xử lý tập tin quản lý (quá nhiều tập tin mở)
- 23. Viết vào tập tin (Prolog)
- 24. Viết xmlwriter vào tập tin
- 25. nhập tập tin lớn vào MySQL DB
- 26. Gửi tin nhắn sms dài
- 27. Android: sao lưu tin nhắn và tập tin theo chương trình
- 28. Chụp tất cả các Tin nhắn Windows
- 29. PHP Thêm chuỗi vào tập tin văn bản
- 30. R: In danh sách vào một tập tin văn bản
+1 Đối lừa tiếp theo của mình, Paul sẽ được làm việc đó trong 5 byte với 'perl -e ' –
+1 Rất tuyệt! Sẽ đi vào kho công cụ của tôi. Tôi tự hỏi, làm thế nào một trong những sẽ làm cho đệ quy? –
@Byron Whitlock: tại sao là perl? sed sẽ làm tốt –