Các dòng lệnh bỏ túi khi sử dụng VPS

Tham khảo thêm: Phân tích log của VPS từ cơ bản đến nâng cao

I. VỚI NỘI DUNG FILE.

Xem 10 dòng đầu tiên

head -10 file-input.txt

Xem 10 dòng cuối

tail -10 file-input.txt

Xem từ dòng 10 đến dòng 20

awk 'NR >= 10 && NR <= 20' file-input.txt

Xóa dòng 10 đến dòng 20, sau đó tạo file mới

sed '1,20d' file-input.txt > file-output.txt

Xóa các dòng có nội dung là “error”, sau đó tạo file mới

sed '/^error/d' file-input.txt > file-output.txt

Tìm các dòng có nội dung là error, xuất ra màn hình là dòng nào.

grep -n error file-input.txt
grep -w "error" file-input.txt

Xem file-input.txt có bao nhiêu dòng

wc -l file-input.txt

Cắt file-input.txt ra nhiều file-output mỗi file 1000 dòng.

split -d -l 1000 file-input.txt file-output.txt

Xóa các dòng trùng nhau

sort file-input.txt | uniq > file-output.txt #sắp xếp và xóa dòng trùng nhau
uniq file-input.txt > file-output.txt # chỉ xóa dòng trùng

II. VỚI FILE VÀ THƯ MỤC

Copy một file

cp ten_file.txt ten_file_new.txt

 Xóa toàn bộ file trong thư mục

rm -rf *

Tìm file có chứa nội dung “error”

find /home -type f -exec grep -l 'error' {} \;

Tìm kiếm tên file + folder

find . error.log #tìm file có tên
find / -type d -name error #tìm thư muc có tên error

Tìm các file mới được chỉnh sửa

find / -mtime 50 #được chỉnh sửa trong 50 ngày
find / -mtime +50 –mtime -100 #được chỉnh sửa trong vòng 50 - 100 ngày
find ./ -cmin -60 #được tạo ra trong vòng 1 giờ

Tìm các file được phân quyền 444

find . -type f -perm 444

Gọp chung các file lại thành 1 file duy nhất

cat file_input1.txt file_input2.txt file_input3.txt > combined-file-output.txt

hoặc

cat *.txt > combined-file-output.txt

Cách xóa các hình ảnh không sử dụng trong WordPress

Khi upload ảnh bằng wordpress mặc định sẽ tạo là nhiều file ảnh với những kích thước khác nhau, tùy thuộc vào setting, plugin và theme. Lâu ngay nhưng file ảnh này sẽ làm cho website rất cồng kềnh. Đến lúc này chúng ta thường tìm cách đơn giản là xóa chúng đi.

Sử dụng Plugin Force Regenerate Thumbnails

Rất nhiều người sử dụng plugin Regenerating Thumbnails nhưng có 1 thực tế rằng, nó chỉ tạo ra thumbnail với những kích thước mới nhưng không xóa các file không dùng đến.

Giải pháp thay thế là sử dụng plugin Force Regenerate Thumbnails chức năng cũng giống như Regenerating Thumbnails nhưng khi tạo ra file mới thì nó xóa các định dạng cũ. Rất tuyệt

Force_Regenerate_Thumbnails

Dùng lệnh trong VPS

Di chuyển đến thư mục upload

cd /home/nginx/domains/websitecuaban.com/public/wp-content/uploads/

Tìm các file có đuôi .phg có tên chứa 320 hoặc 300 hoặc 200

find / \( -name *320*.png -o -name *300*.png -o -name *140*.png \)

Tìm và xóa đi

find / \( -name *320*.png -o -name *300*.png -o -name *140*.png \) -exec rm -rf {} \;

Hoặc di chuyển vào thư mục nào đó

find / \( -name *320*.png -o -name *300*.png -o -name *140*.png \) -exec mv {} /home/nginx/domains/websitecuaban.com/public/images \;

Chú ý:

  • Chú ý backup trước khi sử dụng plugin
  • Bài viết có thể bị lỗi ảnh, nếu lúc trước bạn sử dụng không phải file ảnh gốc (image-full).
  • Hãy thận trọng khi sử dụng lệnh rmmv

Hướng dẫn cách chạy WordPress Multisite trên CentMinMod

WordPress Multisite là chức năng có sẵn của WP giúp chúng ta có thể chạy nhiều website, trên duy nhất 1 Source và Database rất thuận tiện để quản lý.

Trước giờ thấy chỉ có hướng dẫn cài đặt WordPress Multisite trên Apache chứ không thấy hướng dẫn WordPress Multisite trên Nginx mà cụ thể là CentMinMod.

Cách làm thì cũng giống như trên các server bình thường như có cấu hình lại xíu.

Bước I. DNS Wildcard cho tên miền.

Add record là A – Hostname là * or @ – Value là IP của VPS

Bước II. Cài đặt CentMinMod

Xem hướng dẫn: Cách cài đặt Centminmod.

Đăng nhập MYSQL băng root.

mysql -u root -p

Tạo database.

CREATE DATABASE wordpress;

Tạo user và grant permissions đến database:

CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress_user'@'localhost';

Nhớ đổi mấy cái thông tin màu đỏ thành của riêng bạn

FLUSH PRIVILEGES;
exit

Các thông tin cần nhớ

Database Name: wordpress
Database User: wordpress_user
Database Password: password

Bước III. Cài đặt WordPress Multisite

1.Download và cài đặt WP

wget http://wordpress.org/latest.tar.gz
tar -xf latest.tar.gz
mv wordpress/* /home/nginx/domains/websitecuaban.com/public/

2.Chmod để sau này cài đặt và update plugin.

chown -R www-data:www-data /home/nginx/domains/websitecuaban.com/public/

3.Truy cập vào website

http://websitecuaban.com/

4.Tiến hành cài đặt như thông thường

wordpress_multisite

5.Edit file wp-config.php thêm đoạn code sau để kích hoạt tính năng Multisite

/* Multisite settings */
define( 'WP_ALLOW_MULTISITE', true );

Nhớ thêm trước dòng

/* That's all, stop editing! Happy blogging. */

6.Đăng nhập vào wp-admin

Tools > Network Setup chọn Sub-domains, Tùy chỉnh Network Title và click Install.

7.Thêm đoạn code sau vào wp-config.php

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'examplewp.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Vì trong nginx không sử dụng .htaccess nên bạn có thể bỏ qua bước add code vô .htaccess.

8. Đăng xuất wp-admin và đăng nhập lại

Từ bên trái của thanh admin toolbar click My Sites > Network Admin > Sites

site

 

9.Click Add New để thêm site mới.

Ví dụ mình thêm cái site là: site1.com, site2.com, siteN.com

khi thêm vào các site mới sẽ có dạng:

site1.websitecuaban.com
site2.websitecuaban.com
siteN.websitecuaban.com

10. Cài đặt plugin Domain Mapping -> cài đặt như bình thường.

Nhiệm vụ của plugin này là chuyển subdomain có dạng:

site1.websitecuaban.com -> site1.com
site2.websitecuaban.com -> site2.com
siteN.websitecuaban.com -> siteN.com

11. Sau khi cài đặt xong copy file sunrise.php từ trong plugin đến thư mục wp-content.

cp /home/nginx/domains/websitecuaban.com/public/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php /home/nginx/domains/websitecuaban.com/public/wp-content/

12. Sửa file wp-config.php và thêm dòng code sau trước /* That’s all, stop editing! Happy blogging. */.

define('SUNRISE', 'on');

lưu lại và làm mới trình duyệt

13. Settings > Domain Mapping thay đổi một số thông tin sau:

Uncheck Remote Login
Check Permanent Redirect
Uncheck Redirect administration pages to site's original domain

14. vào Settings > Domains

Nhập ID của các site đã add lúc trước.

Nhập Domain

Check vào Primary

Save

15. Tuy nhiên để cho WordPress Multisite hoạt động tốt với Plugin Domain Mapping bạn cần chỉnh sửa file sau:

nano /usr/local/nginx/conf/conf.d/wesitecuaban.com.conf

16.Tìm

server_name websitecuaban.com www.websitecuaban.com

17.Thêm vào sau:

server_name websitecuaban.com www.websitecuaban.com *.websitecuaban.com site1.com site2.com siteN.com;

18.Lưu lại và restart lại nginx

service nginx restart

Quản trị Network

http://websitecuaban.com/wp-admin/network/

Quản trị Wp-admin từng site

http://websitecuaban.com/wp-admin/
http://site1.com/wp-admin/
http://site2.com/wp-admin/
http://siteN.com/wp-admin/

done!

Hướng dẫn cách sửa lỗi “Error Establishing A Database Connection”

Như cái thông báo lỗi Error Establishing A Database Connection: Lỗi thiết lập kết nối cơ sỡ dữ liệu.

Error-Establishing-a-Database-Connection

Một số nguyên nhân chính gây lỗi Error Establishing A Database Connection như:

  • Thiết lập sai user, database, localhost trong wp-config.php dẫn đến tính trạng không kết nối được.
  • Database bị lỗi
  • MySQL không chạy.

1. Xem file wp-config.php nội dung thông thường sẽ như thế này:

define('DB_NAME', 'tenDatabase');
define('DB_USER', 'tenUser');
define('DB_PASSWORD', 'matkhau');
define('DB_HOST', 'localhost');

Xem Database và User bằng cách sau ?

#Đăng nhập MySQL
mysql -u root -p
#Xem danh sách database
SHOW DATABASES;
#Xem danh sách user
SELECT User FROM mysql.user;
#Nếu không chắc chắn về mật khẩu bạn có thể thay đổi bằng lệnh
mysql> SET PASSWORD FOR
 -> 'jeffrey'@'localhost' = PASSWORD('mypass');

2. Database bị lỗi

a. Trong trường hợp chỉ bị lỗi ở trang Wp-admin thì làm như sau:

Thêm dòng này ở wp-config.php

define('WP_ALLOW_REPAIR', true);

Vào đường link : websitecuaban.com/wp-admin/maint/repair.php

để tiến hành sửa và tối ưu database cho phần wp-admin.

db_repair

b. Trong trường hợp bị lỗi toàn website.

  1. Login vào phpmyadmin
  2. Phía bên trái chọn vào Database của website bạn đang cần sửa hoặc tối ưu ( nếu có nhiều quá thì nhìn trong file wp-config.php nhé)
  3. Nếu biêt Table nào bị lỗi thì chỉ cần chọn table đó thôi, còn không thì cứ chọn tất cả rồi click vào -> Repair table như hình.

phpmyadmin-repair-table

hoặc có thể làm theo cách sau nếu VPS của bạn không có phpmyadmin

Login to your shell
Enter ‘mysql -u username -p database_name‘ to access databases
Enter ‘show databases;’ to view all databases
Enter ‘use database_name;‘ to engage the database
Enter ‘show tables;‘ to show all tables within the database
Enter ‘check table wordpress_table_name;‘ to verify this is the corrupted table
Fix it with ‘repair table wordpress_table_name;

3. Trong trường hợp MySQL không chạy

Tạm dừng MySQL

service mysql stop

Chạy MySQL

service mysql start

Khởi động lại MySQL

service mysql restart

Kiểm tra lỗi tất cả database trên VPS

mysqlcheck -c -u root -p --all-databases

Xem thử table nào bị lỗi thì repair là xong !

Sẽ có 1 bài chuyên sâu về Check và Repair MySQL của VPS bằng câu lệnh, sẽ cập nhật sớm.

Hướng dẫn cài đặt CentMinMod từ cơ bản đến nâng cao

I.Cài đặt CentMinMod

Yêu cầu cấu hình RAM tối thiểu 256 MB cho CentOS 6 và 1 GB cho CentOS 7.

Cài đặt CentOS cho VPS login và làm theo các bước sau:

Bước 1:

Vào https://github.com/centminmod/centminmod/branches để xem gói cài đặt mới nhất. Hiện tại khi đang viết bài này thì là 123.08stable

branchname=123.08stable

Bước 2:

yum -y install wget nano bc unzip
branchname=123.08stable
wget -O /usr/local/src/${branchname}.zip https://github.com/centminmod/centminmod/archive/${branchname}.zip
cd /usr/local/src
unzip ${branchname}.zip
mv centminmod-${branchname} centminmod
cd centminmod

Bước 3:

./centmin.sh

Rồi chọn 1.
Hoặc có thể gõ trực tiếp bằng dòng lệnh

./centmin.sh install

Quá trình cài đặt CentMinMod có thể mất từ 20-30 phút tùy cấu hình.

Sau khi quá trình cài đặt hoàn tất sẽ xuất hiện các thông tin quan trọng nhớ copy và lưu lại ở đâu đó.

Chú ý phần PassWord Root của MySQL để xíu nữa thêm hoặc add Database.

II. Chuyển Website về VPS CentMinMod vừa tạo

Bước 1:

Chuyển DNS domain về IP của VPS ở trên.

Sau khi thay đổi xong bạn có thể kiêm tra bằng cách ping thử domain xem có trỏ về IP mới chưa.

Trong Windows thì vào:

RUN -> cmd -> gõ "ping websitecuaban.com"

Trong trường hợp vẫn chưa cập nhật thì bạn có thể edit file hosts để sử dụng tạm thời trong thời gian chờ DNS cập nhật.

C:\Windows\System32\drivers\etc

chỉnh sửa file hosts bằng cách thêm nội dung:

111.111.111.111     websitecuaban.com

trong đó 111.111.111.111 là địa chỉ IP của VPS.

Bước 2:

Thêm tên miền vào máy chủ CentMinMod

cd /usr/local/src/centminmod
./centmin.sh

Chọn số 2 -> Enter -> gõ websitecuaban.com (không có www.) -> gõ n (không sử dụng SSL) -> gõ user cho FTP -> gõ y (tự động tạo pass).

Chú ý lưu thông tin đăng nhập FTP sau này cần dùng.

Gõ 24 để thoát ra.

Bước 3: Tạo Database, User 

mysql -u root -p

nhập pass Root của MySQL lúc tạo, nếu quên thì dùng lệnh này

cat ~/.my.cnf

Login vô được rồi tiếp tục

create database dbcuaban;
create user 'usercuaban'@'localhost' identified by 'passcuaban';
grant all on dbcuaban.* to [email protected];
FLUSH PRIVILEGES;
exit

Bước 4: Retore website site của bạn.

Gõ:

cd /home/nginx/domains/websitecuaban.com/public

và upload Source code và Database lên trên đó. (Có thể sử dụng FileZilla với thông tin FTP lúc nãy hoặc wget tùy bạn)

Giải nén Source code

tar -xvf *.tar.gz

hoặc

unzip *.zip

Giải nén database nếu có

gunzip *.sql.gz

Import database

mysql -u usercuaban -p'passcuaban' dbcuaban < *.sql

Chỉnh sửa file wp-config.php với database, user và pass đã tạo.

Bước 4: Tối ưu

Cấp quyền cho WordPress có thể cài dặt và update Plugin

chown -R nginx:nginx /home/nginx/websitecuaban.com/

Cho phép nginx  permalink

edit file: /usr/local/nginx/conf/conf.d

Tìm đoạn:

location / {

# block common exploits, sql injections etc
#include /usr/local/nginx/conf/block.conf;

# Enables directory listings when index file not found
#autoindex on;

# Shows file listing times as local time
#autoindex_localtime on;

# Enable for vBulletin usage WITHOUT vbSEO installed
#try_files / /index.php;

}

Thay bằng đoạn:

location / {
try_files $uri $uri/ /index.php?$args;
}

Sửa lỗi 404 permalink

Edit file: /usr/local/nginx/conf/staticfiles.conf

Tìm và xóa đoạn:

location ~* \.(html|html|txt)$ {
……
}

Cuối cùng là khởi động lại Nginx

service nginx restart

III. Một số câu lệnh khởi động trong Nginx

1. Nginx
Trên centos 6:

Restart:

service nginx restart

Stop :

service nginx stop

Start:

service nginx start

Trên centos 7:

Restart:

systemctl restart nginx.service

Stop:

systemctl stop nginx.service

Start:

systemctl start nginx.service

2. PHP-FPM

Restart:

service php-fpm restart

Stop :

service php-fpm stop

Start:

service php-fpm start

Trên centos 7:

Restart:

systemctl restart php-fpm.service

Stop:

systemctl stop php-fpm.service

Start:

systemctl start php-fpm.service

3. MariaDB (MySQL)

Restart:

service mysql restart

Stop :

service mysql stop

Start:

service mysql start

Trên centos 7:

Restart:

systemctl restart mariadb.service

Stop:

systemctl stop mariadb.service

Start:

systemctl start mariadb.service

Done!

 

Tạo cache cho MySQL Query

Tối ưu cho VPS có ít ram

mysql -u root -p

Nhập mật khẩu SQL và kiểm tra tình trạng cache hiện tại bằng lệnh

show variables like 'query_cache_%';

Kết quả trả về tương tự như sau:

+------------------------------+---------+
| Variable_name                | Value   |
+------------------------------+---------+
| query_cache_limit            | 1048576 |
| query_cache_min_res_unit     | 4096    |
| query_cache_size             | 0       |
| query_cache_type             | ON      |
| query_cache_wlock_invalidate | OFF     |
+------------------------------+---------+

Chỉnh sửa trong file /etc/my.cnf (Red Hat) hoặc /etc/mysql/my.cnf (Debian)

nano /etc/my.cnf

Điều chỉnh lại theo ý bạn

query_cache_limit = 3M
query_cache_size = 128M

Sau khi thêm thì nội dung sẽ như sau:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
query_cache_limit = 3M
query_cache_size = 128M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

Khởi động lại mysql

service mysql restart

nếu bị lỗi mysql: unrecognized service thì sửa thành:

service mysqld restart

Kiểm tra lại bằng lệnh

show variables like 'query_cache_%';

Kết quả

+------------------------------+-----------+
| Variable_name                | Value     |
+------------------------------+-----------+
| query_cache_limit            | 3145728   |
| query_cache_min_res_unit     | 4096      |
| query_cache_size             | 134217728 |
| query_cache_type             | ON        |
| query_cache_wlock_invalidate | OFF       |
+------------------------------+-----------+

Phân tích Log của VPS từ cơ bản đến nâng cao

Chú ý: Demo được thực hiện trên CentMinMod những VPS khác thì thay được dẫn File log nhé

Tham khảo thêm: Các dòng lệnh bỏ túi trong Linux

Lệnh tail để liệt kê các dòng cuối cùng trong file, ở đây ví dụ là 10 bạn có thể thay đổi thành 100, 1000… tùy theo muốn xem nhiều hay ít.

log

I. Đơn giản

Check log chung của Server

tail -10 /usr/local/nginx/logs/access.log
tail -10 /usr/local/nginx/logs/error.log

Check log từng Domain:

tail -10 /home/nginx/domains/domainname.com/log/access.log
tail -10 /home/nginx/domains/domainname.com/log/error.log

Kiểm tra trong /var/log

ls -lhrt /var/log

Check PHP-FPM

tail -10 /var/log/php-fpm/www-error.log
/var/log/php-fpm/www-php.error.log

Kiểm tra log trong cơ sơ dữ liệu MySQL / MariaDB

tail -10 /var/log/mysqld.log

Kiểm tra log trong CSF firewall

tail -10 /var/log/lfd.log

Kiểm tra log trong Mail

tail -10 /var/log/maillog

For Cron job

tail -10 /var/log/cron

II. Nâng cao

Lấy tất cả các log trong 1 ngày

Ví dụ mình lấy các log trong ngày 5/12/2015

grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.log

Lấy log trong nhiều ngày bất kỳ

Lấy tất cả các log trong ngày 5/12/2015 ngày 4/12/2015

grep -w '05/Dec/2015\|04/Dec/2015' /home/nginx/domains/domain.com/log/access.log

Lấy tất cả IP trong file log

grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /home/nginx/domains/domain.com/log/access.log

Lấy log trong ngày được và chuyển hướng google

Chỉ lấy các dòng có chuổi là “05/Dec/2015”  “google” (Được hiểu là Log của ngày 5/12/2015 và được chuyển hướng từ google)

grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log

Xuất ra log trong ngày và điều kiện “hoặc”

Chỉ lấy các dòng có chuổi là “05/Dec/2015” và “google”  HOẶC có chuổi là “04/Dec/2015” và “google”

grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log

Xuất ra tất cả IP với điều kiện

Xuất tất cả các IP được chuyển hướng từ Google được ghi nhận từ ngày 4 và 5/12/2015

grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

Xuất số kết nối của IP đến server trong ngày

Đếm xem số lần kết nối của một IP được chuyển hướng từ Google trong ngày 5/12/2015

grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | soft | uniq -cd | sort -nr

Xuất ra tất cả các IP có >10 kết nối trong ngày

Kiểm tra tất cả các IP có > 10 kết nối trong ngày 5/12/2015

grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -cd | sort -nr | grep -v '^ *[1-9] '

Xem toàn bộ chuyển hướng từ google trong 1 tháng

Xuất ra màn hình toàn bộ log được chuyển hướng từ google tháng 12/2015 nhưng không chứa bot.html

grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html'

Xem link có nhiều lượt truy cập nhất trong tháng

Link có nhiều lượt truy cập nhất từ google trong tháng 12/2015, không tính bot

grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html' | grep -oP '(?<=GET ).*/ ' | sort | uniq -cd | sort -nr | grep -v '^ *1 '

Dòng lệnh xem và xóa user + database trong MYSQL

Đôi khi có những website không còn hoạt động trên máy chủ và bạn cần xóa nó đi cho nhẹ nhàng thì đây là một số lệnh cơ bản.

mysql -u root -p

trong Centminmod nếu quên pass thì gõ

cat ~/.my.cnf

nhập mật khẩu của MySQL -> nếu đăng nhập thành công thì dấu nhắc sẽ giống thế này: mysql>

Xem danh sách Database:

SHOW DATABASES;

Xóa Database

DROP DATABASE ten_database_muon_xoa;

Xem danh sách User

SELECT User FROM mysql.user;

Xóa User

DROP USER 'testuser'@'localhost';

 

Làm thế nào để bật và tắt tường lửa trong CentOS 7

Khi cần setup csf hoặc một số mod khác có yêu cầu Start and Enable – Stop and Disable Firewalld.

firewall

Sau đây là một số lệnh cơ bản.

Enable Firewalld

systemctl enable firewalld

Start Firewalld

systemctl start firewalld

Check the Status of Firewalld

systemctl status firewalld

Disable Firewalld

systemctl disable firewalld

Stop Firewalld

systemctl stop firewalld

Check the Status of Firewalld

systemctl status firewalld

 

Loại bỏ dữ liệu trùng nhau bằng Notepad ++

Xóa các hàng trùng nhau trên notepad ++ thiệt dễ dàng chỉ với 1 vài thao tác đơn giản. Đôi khi bạn cần loại bỏ các dữ liệu trùng nhau trong nội dung văn bản. Có 2 cách cho bạn sử dụng đó là dùng Replace và TextFX.

Tham khảo thêm: Hướng dẫn thủ thuật dùng notepad ++

Cách 1: Dùng TextFX Characters

Để remove dữ liệu trùng nhau trong Notepad ++ chúng ta cần Install một plugin đó là TextFX Characters bằng cách:

Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install

Sau khi cài đặt xong khởi động lại Notepad ++.

Hãy đảm bảo rằng “Sort outputs only unique…” đã được check. Kiểm tra trong TextFX -> TextFX Tools

notepad

Sau đó bôi đen toàn bộ văn bản (Ctrl + A) -> TextFX -> TextFX Tools -> Click vào “Sort lines case sensitive” hoặc “Sort lines case insensitive”.

Cách 2: Dùng trực tiếp Replace

Kể từ phiên bản 6.0 trở đi người dùng có thể trực tiếp loại bỏ các dòng trùng nhau bằng regex của notepad++.

(.*?)$\s+?^(?=.*^\1$)

Chỉnh như cấu hình bên dưới.

remove_duplicate

 

Bonus: Xóa dòng ít hơn 40 kí tự

Tìm và thay thế cụm từ sau:

^.{0,40}(\r\n?|\n|$)

Thêm vào cuối dòng thì

Find What: $ --> Replace With: "Nội dung cần thêm"

nhớ check vào Regular exprission

Done!