Салес.ткт
Дате Амоунт Ареа
01/01/2020 60000 Дака
10/02/2020 76000 Рајсхахи
21/03/2020 54000 Кхулна
15/04/2020 78000 Цхандпур
17/05/2020 45000 Богра
02/06/2020 67000 Цомилла
Замените стринг у датотеци командом `сед`
Основна синтакса ` сед `команда за замену одређеног низа у датотеци дата је испод.
Синтакса
сед -и 'с/сеарцх_стринг/реплаце_стринг/'назив документа
Сваки део горње синтаксе је објашњен у наставку.
'-И' опција се користи за измену садржаја оригиналне датотеке заменским низом ако стринг за претрагу постоји у датотеци.
‘С’ означава команду за замену.
„Стринг_претраживања“ садржи вредност низа која ће се тражити у датотеци ради замене.
„Стринг_замени“ садржи вредност низа која ће се користити за замену садржаја датотеке која одговара „Стринг_претраживања“ вредност.
'назив документа' садржи назив датотеке на коју ће се применити претрага и замена.
Пример 1: Замените датотеку командом „сед“
У следећој скрипти, текст за претрагу и замену биће преузет од корисника. Ако низ за претрагу постоји у „Салес.ткт“, биће замењен заменљивим низом. Овде ће се извршити претрага која разликује мала и велика слова.
#!/бин/басх# Доделите име датотеке
назив документа=„Салес.ткт“
# Узмите низ за претрагу
читати -п 'Унесите низ за претрагу:'Претрага
# Узмите заменски низ
читати -п 'Унесите стринг за замену:'заменити
ако [[ $ сеарцх !='' && $ заменити !='' ]];онда
сед -и 'с/$ сеарцх/$ заменити/ ' $ назив датотеке
бити
Оутпут
Пример 2: Замените датотеку командом „сед“ са ознакама „г“ и „и“
Следећа скрипта ће радити као претходни пример, али ће низ за претрагу глобално тражити заставицу „г“, а за заставицу „и“ ће се вршити претраживање без обзира на велика и мала слова.
#!/бин/басх# Узмите низ за претрагу
читати -п 'Унесите низ за претрагу:'Претрага
# Узмите заменски низ
читати -п 'Унесите стринг за замену:'заменити
ако [[ $ сеарцх !='' && $ заменити !='' ]];онда
сед -и 'с/$ сеарцх/$ заменити/дати ' 1 УСД
бити
Оутпут
Пример 3: Замените датотеку командом „сед“ и одговарајућим узорком цифара
Следећа скрипта ће тражити сав нумерички садржај у датотеци и замениће садржај додавањем „$“ симбол на почетку бројева.
#!/бин/басх# Проверите да ли вредност аргумента командне линије постоји или не
ако [ 1 УСД !='' ];онда
# Претражите све низове који садрже цифре и додајте $
сед -и 'с/ б [0-9] {5 } б/$ &/г' 1 УСД
бити
Оутпут
Замените стринг у датотеци командом `авк`
„ авк ' наредба је још један начин замене низа у датотеци, али ова команда не може да ажурира оригиналну датотеку директно као „ али команда.
Пример 4: Замените датотеку командом „авк“
Следећа скрипта ће складиштити ажурирани садржај у темп.ткт датотеку која ће бити преименована оригиналном датотеком.
#!/бин/басх# Проверите да ли вредност аргумента командне линије постоји или не
ако [ 1 УСД !='' ];онда
# Претражите све низове на основу датума
авк '{суб ('02/06/2020', '12/06/2020')} 1 ' 1 УСД >темп.ткт&& мвтемп.ткт1 УСД
бити
Оутпут
Закључак
Овај чланак вам је показао како да користите басх скрипте за замену одређених низова у датотеци. Задатак замене низа у датотеци требало би да вам постане лакши након увежбавања горњих примера.