[Powered by Google Translate] TOMMY: Sa físeán seo, beidh muid ag foghlaim faoi
atreorú agus píopaí.
Go dtí seo, tá muid ag baint úsáide as feidhmeanna cosúil printf chun
aschur sonraí chuig an gcríochfort agus feidhmeanna cosúil le GetString
chun go bhféadfaidh an t-úsáideoir chun ionchur a chur ar fáil dár
Clár ag baint úsáide as an méarchlár.
Ligean ar ghlacadh go tapa le breathnú ar chlár go bhfaigheann líne
Taispeánann an ionchur ó an t-úsáideoir agus ansin é.
>> Ar líne 7, tá muid ag spreagadh an t-úsáideoir ar theaghrán, agus
ansin ar líne 8, tá muid ag phriontáil ar ais amach.
A ligean ar chur le chéile agus a reáchtáil ar ár gclár.
Great.
Bhí echoed an teaghrán ar fáil dúinn ar ais
a chur chugainn ag an gcríochfort.
Tharla sé seo mar gheall ar scríobh an fheidhm printf le
sruth ar a dtugtar amach caighdeánach, nó s-t-d-amach.
Nuair a bhíonn rud éigin i scríbhinn go haschur caighdeánach, tá sé de réir réamhshocraithe
ar taispeáint ag an teirminéal.
>> Mar sin tá go léir go maith agus go maith, ach cad más rud é, in ionad ach
thaispeánann an teaghrán, bhíomar ag iarraidh é a shábháil go comhad?
Mar shampla, d'fhéadfadh muid ag iarraidh cuimhneamh ar go díreach cad ár
clár a rinne nuair a thug muid é ionchur ar leith níos déanaí.
Bheadh ​​cur chuige amháin chun é seo a inár gclár C, ag baint úsáide as
roinnt feidhmeanna speisialta do scríobh chun comhaid go mbainfidh muid
fheiceáil i físeán eile.
Fiú níos éasca, cé go mbeadh, a bheith ar bhealach
stdout a athdhíriú ar comhad.
Sa chaoi sin, nuair a scríobhann printf go haschur caighdeánach, beidh an t-ábhar
a scríobh go comhad in áit
ar taispeáint ag an teirminéal.
Is féidir linn a dhéanamh go díreach trí comhartha níos mó ná mar, agus ina dhiaidh
ag ainm comhaid, go dtí an ordú a úsáidimid chun a bhfeidhmeanna ár gclár.
>> Mar sin, seachas forghníomhaitheach go simplí. / Atreorú, is féidir linn a
rith. / atreorú, ina dhiaidh sin ag níos mó ná comhartha, agus ina dhiaidh
ainm comhaid, is cosúil file.txt.
A ligean ar a fheiceáil cad a tharlaíonn.
OK.
Fógra go bhfuil an am sin, bhí ar taispeáint aon rud ag an gcríochfort,
ach ní mór dúinn a mhodhnú an t-ábhar ar ár
C clár ar chor ar bith.
A ligean ar scrúdú a dhéanamh ar anois an t-ábhar eolaire seo le ls.
>> Gach ceart.
Tá muid anois comhad nua inár n-eolaire ar a dtugtar file.txt,
a bhfuil an ainm comhaid fáil againn nuair a bhí ar siúl againn ar ár
Redirect chláir.
A ligean ar oscailt suas file.txt.
Agus anseo, is féidir linn a fheiceáil go raibh an stdout as redirect
scríofa chuig an comhad a dtugtar file.txt.
Mar sin a ligean reáchtáil an ordú roimhe sin arís, ach soláthar
ionchur éagsúla an am seo.
Maith go leor.
A ligean ar ghlacadh le breathnú ar file.txt anois.
>> Is féidir linn a fheiceáil anseo go bhfuil an comhad a bhí overwritten, mar sin ár n-
Ní ionchur bunaidh ann a thuilleadh.
Más mian linn ionad sin i gceangal leis an comhad seo, ag cur an nua
ionchur thíos an t-ábhar atá ann cheana féin an comhad, is féidir linn
úsáid a bhaint as dhá níos mó ná mar comharthaí seachas díreach amháin.
A ligean ar iarracht sin.
Anois, má oscailte againn file.txt arís, is féidir linn a fheiceáil dá ar ár
línte ionchuir.
I roinnt cásanna, d'fhéadfadh muid ag iarraidh a shábháil ar aon
ár n-aschur clár.
Seachas scríobh an t-aschur go comhad agus ansin a scriosadh
an comhad nuair a táimid dhéanamh leis, is féidir linn a scríobh chuig speisialta
comhad a dtugtar / dev / null.
Nuair a bhíonn aon rud scríofa / dev/null--
nó devnull díreach do ghearr -
tá sé chaitheamh i leataobh go huathoibríoch.
Mar sin, smaoineamh ar devnull mar poll dubh le haghaidh do chuid sonraí.
>> Mar sin, anois atá feicthe againn conas is féidir an comhartha níos mó ná redirect
stdout, a ligean ar a fheiceáil conas is féidir linn a atreorú caighdeánach i -
nó s-t-d-i -
an analógach aschur caighdeánach.
Cé mhaith feidhmeanna scríobh printf an sruth a dtugtar
stdout, GetString agus feidhmeanna den chineál céanna a léamh as an sruth
ar a dtugtar stdin, atá, de réir réamhshocraithe, tá an sruth de
carachtair clóscríofa ar an méarchlár.
Is féidir linn a atreorú stdin baint úsáide as an níos lú ná comhartha, agus ina dhiaidh
ag ainm comhaid.
Anois, seachas spreagadh an t-úsáideoir le haghaidh ionchuir ag an
críochfoirt, cuirfear clár an comhad a oscailt sonraithe againn agus a úsáid
a línte mar ionchur.
>> A ligean ar a fheiceáil cad a tharlaíonn.
Great.
Tá an chéad líne file.txt curtha i gcló ar an teirminéal
toisc go bhfuil muid ag iarraidh GetString aon uair amháin.
Má bhí againn eile glaoch chun GetString inár gclár, an
Bheadh ​​chéad líne eile de file.txt a bheith in úsáid mar
ionchur go glaoch.
Arís, ní mór dúinn a mhodhnú ár gclár C in aon chor.
Táimid ag athrú ach conas a rith sé.
Agus cuimhnigh freisin, ní mór dúinn a atreorú stdout an am seo,
mar sin bhí an t-aschur an chláir fós
ar taispeáint ag an gcríochfort.
Is féidir linn, ar ndóigh, a athdhíriú dá stdin
agus stdout é seo.
Anois, tá file2.txt an chéad líne file.txt.
>> Mar sin, ag baint úsáide as na hoibreoirí sin, tá muid in ann a léamh agus a
scríobh ó chomhaid téacs.
Anois, a ligean ar a fheiceáil conas is féidir linn úsáid a bhaint as an aschur clár amháin mar
an t-ionchur chuig clár eile.
Mar sin tá anseo eile simplí C clár mé
bhfuil glaoite anseo hello.c.
Mar a fheiceann tú, aschur seo ach "Dia duit
ann! "don úsáideoir.
Más mian liom a athdhíriú a úsáid mar ionchur aschur Dia duit -
clár eile -
Raibh mé in ann atreorú ar dtús leis an aschur caighdeánach de hello comhad a dtugtar
input.txt, athdhírigh ansin ionchur caighdeánach de a athdhíriú ar an gcéanna
file - input.txt.
Mar sin, is féidir liom a dhéanamh. / Dia duit> input.txt.
Brúigh Iontráil a fhorghníomhú seo.
Le leanúint ag. / Atreorú <
input.txt, agus a fhorghníomhú go.
Mar sin, is féidir linn a ghiorrú an beagán a bhfuil leathstad, a cheadaíonn
linn a reáchtáil beirt nó níos mó orduithe ar an líne chéanna.
Sin, is féidir liom a rá,. / Dia duit> input.txt, leathstad,
. / Atreorú <input.txt.
>> Mar sin, oibríonn seo, ach mothaíonn sé fós deas inelegant.
Ciallaíonn mé, ní gá againn i ndáiríre an gcomhad téacs idirghabhálaí go
riachtanach a thuilleadh tar éis ritheann atreorú?
Luckily, is féidir linn a sheachaint an gcomhad téacs breise ag baint úsáide as cad
ar a dtugtar píopa.
Má rá liom, / Dia duit |.. / Atreorú, ansin stdout de
ar an gclár ar chlé -
sa chás seo, dia duit -
Beidh a úsáid mar ionchur caighdeánach don
clár ar dheis.
Sa chás seo, a athdhíriú. Mar sin a ligean seo a reáchtáil.
>> Tá muid ag dul.
Is féidir linn a fheiceáil gur úsáideadh an t-aschur de dia duit mar an t-ionchur
le haghaidh atreorú.
De réir orduithe stialladh le chéile ag baint úsáide as píopaí, foirm againn cad
ar a dtugtar píblíne, ós rud é go bhfuil ár n-aschur ag gluaiseacht go bunúsach
trí shraith na n-orduithe.
Ag baint úsáide as píopaí, is féidir linn a dhéanamh ar roinnt rudaí fionnuar gan gá le
scríobh aon chód ar chor ar bith.
Mar shampla, a rá a ligean ar mhaith linn go mbeadh a fhios cé mhéad comhaid atá
taobh istigh den eolaire.
Ag baint úsáide as píopa, is féidir linn a chur le chéile an t-ordú ls leis an wc -
nó wordcount -
ordú.
Beidh LS aschur gach comhad ar an eolaire ar stdout, agus
Beidh wc insint dúinn tugadh cé mhéad línte a sé trí stdin.
Mar sin, má deirimid ls | wc-l -
soláthar na l-bhratach a wc a insint dó chun línte a chomhaireamh -
is féidir linn a fheiceáil go díreach cé mhéad comhaid atá
sa chomhadlann reatha.
>> Mar sin a ligean ar ghlacadh le breathnú ar sampla amháin níos mó.
Tá mé anseo comhad a dtugtar students.txt,
le liosta na n-ainmneacha.
Mar sin féin, nach bhfuil na hainmneacha in ord ar bith go léir, agus tá sé
cosúil le roinnt ainmneacha a arís agus arís eile.
Cad é ba mhaith linn le liosta ainmneacha ar leith in ord aibítre
ordú, a shábháil chun an comhad a dtugtar final.txt.
D'fhéadfadh muid, ar ndóigh, a scríobh le clár C chun é seo a dúinn.
Ach tá sé ag dul a fháil gan ghá
casta go leor go tapa.
A ligean ar úsáid in ionad píopaí agus roinnt tógtha-i-uirlisí a réiteach
an fhadhb seo.
>> Is é an chéad rud is gá dúinn a dhéanamh léamh an students.txt comhad.
Beidh an ordú cat a dhéanamh go díreach.
Beidh sé a léamh sa chomhad sonraithe agus scríobh
a bhfuil ann go stdout.
Tar éis againn a léamh an comhad téacs, beidh muid ag
ag iarraidh a shórtáil na hainmneacha.
Is féidir leis an ordú saghas déileáil leis seo dúinn.
Beidh Sórtáil scríobh an líne ar fáil trí stdin go stdout
in ord sórtáilte.
D'fhonn soláthar an t-ábhar students.txt a
saghas ar stdin, d'fhéadfadh muid a úsáid píopa a chur le chéile cat agus sórtáil.
Mar sin, is féidir liom a fhorghníomhú cat students.txt | shórtáil agus a
brúigh Iontráil.
Agus anois, feicimid an t-ábhar students.txt i
ord aibítre.
>> Mar sin a ligean chur eile - orduithe
uniq, nó ar leith -
ar ár píblíne.
Mar a d'fhéadfadh leat buille faoi thuairim, uniq, nuair a sholáthraítear sraith curtha in eagar de
línte via stdin a bheidh, scríobh an línte ar leith.
Mar sin anois táimid tar éis students.txt cat
| Saghas | uniq.
Mar fhocal scoir, is féidir linn an t-aschur na píblíne a shábháil go dtí
comhad via cat students.txt | saghas | uniq
> Final.txt.
Mar sin, má oscailte againn suas final.txt, ní mór dúinn go díreach cad a bhí againn
ag lorg:
liosta d'ainmneacha ar leith in ord aibítre,
shábháil go comhad téacs.
Dála an scéil, ní mór dúinn d'fhéadfadh chomh maith a dúirt saghas <
students.txt | uniq> final.txt a dhéanamh go díreach
an rud céanna, ag baint úsáide as gach ceann de na hoibreoirí atá againn le feiceáil i
físeán seo.
>> Is é mo ainm Tommy, agus tá sé seo CS50.