sed
Linux Command – sed ใช้ในการเปลี่ยนแปลงข้อมูล text ที่มีรูปแบบซับซ้อน
คำสั่ง
ตัวอย่าง file1
$ cat file1 aaaaaaaaaaa bbbbbbbbbbb ccccccccccc ddddddddddd eeeeeeeeeee fffffffffff ggggggggggg
1. ใช้เพิ่มบรรทัดใหม่ทุกๆบรรทัด และเขียนลง file2
$ sed G file1 > file2 $ cat file2 |sed G aaaaaaaaaaa bbbbbbbbbbb ccccccccccc ddddddddddd eeeeeeeeeee fffffffffff ggggggggggg
2. จัดบรรทัดให้ขึ้นมาติดกันด้วย . และ space
$ cat file1 | sed 'N;s/\n/\. /' aaaaaaaaaaa. bbbbbbbbbbb ccccccccccc. ddddddddddd eeeeeeeeeee. fffffffffff ggggggggggg
3. ทำการเปลี่ยนข้อความด้วยข้อความใหม่
$ sed 's/ddddddddddd/sed/g' file1 aaaaaaaaaaa bbbbbbbbbbb ccccccccccc sed eeeeeeeeeee fffffffffff ggggggggggg
โครงสร้างคำสั่ง
sed [OPTION]... {script-only-if-no-other-script} [input-file]...
รายละเอียด
เป็นคำสั่งที่ใช้ในการเปลี่ยนแปลงข้อมูล text ที่มีรูปแบบซับซ้อน โดยสามารถรับข้อมูลจากทั้งการอ่าน file หรือ ข้อมูลจาก pipeline (|)
รูปแบบ syntax ‘s/regexp/replacement/flags’
- s คือ substitute
- / คือ เป็น regular expression ของ s สามารถเปลี่ยนเป็น อักษรอื่นได้
Option
-n, --quiet, --silent suppress automatic printing of pattern space -e script, --expression=script add the script to the commands to be executed -f script-file, --file=script-file add the contents of script-file to the commands to be executed --follow-symlinks follow symlinks when processing in place -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied) -l N, --line-length=N specify the desired line-wrap length for the `l' command --posix disable all GNU extensions. -r, --regexp-extended use extended regular expressions in the script. -s, --separate consider files as separate rather than as a single continuous long stream. -u, --unbuffered load minimal amounts of data from the input files and flush the output buffers more often -z, --null-data separate lines by NUL characters --help display this help and exit --version output version information and exit
กลุ่มคำสั่ง
awk(1), ed(1), grep(1), tr(1), perlre(1)
Reference:
Author: Suphakit Annoppornchai
Credit: https://saixiii.com
[…] ed, sed […]