Cum pot obține dimensiunea unui fișier într-un script bash?

Cum pot obține dimensiunea unui fișier într-un script bash?

Cum pot atribui acest lucru unei variabile bash, astfel încât să o pot folosi mai târziu?

Comentarii

  • stackoverflow.com/questions/5920333/how-to-check-size-of-a-file LOL pentru migrare 🙂
  • Asociați acest lucru cu pv și cat pentru o comandă de copiere care arată progresul și ETA 🙂
  • fișierul stat -c% s. nume
  • În cazul unei probleme (foarte înguste) XY, aceasta este îngrijită: dacă tot ce trebuie este să testați fișierul are o dimensiune diferită de zero, bash are o expresie condițională -s, deci puteți testa pur și simplu dacă un fișier are o lungime diferită de zero cu if [ -s file ]; then echo "file has nonzero size" ; fi

Răspuns

Cel mai bun pariu pe un sistem GNU:

stat --printf="%s" file.any 

De la man stat :

% s dimensiune totală, în octeți

Într-un script bash:

#!/bin/bash FILENAME=/home/heiko/dummy/packages.txt FILESIZE=$(stat -c%s "$FILENAME") echo "Size of $FILENAME = $FILESIZE bytes." 

NOTĂ: vezi

Răspunsul @chbrown pentru modul de utilizare stat în terminal pe Mac OS X.

Comentarii

  • @ haunted85 stat este cea mai simplă cale, presupunând că ‘ folosiți Linux sau Cygwin (stat isn ‘ t standard). wc -c ca sugerat de Eug é ne este portabil.
  • stat: illegal option -- c
  • stat --printf="%s" file.txt nu ‘ t scoateți orice pe Debian Jessie …
  • Pe MacOS funcționează: stat -f%z myfile.tar
  • @woohoo Solicitarea dvs. suprascrie rezultatul. man stat spune că –printf omite linia nouă finală. Utilizați --format sau -c pentru a vedea rezultatul. Obțineți mai multe informații comparând stat --printf="%s" file.any | xxd - cu stat -c "%s" file.any | xxd -

Răspuns

file_size_kb=`du -k "$filename" | cut -f1` 

Problema utilizării stat este că este o extensie GNU (Linux). du -k și cut -f1 sunt specificate de POSIX și, prin urmare, sunt portabile pentru orice sistem Unix.

Solaris, de exemplu, este livrat cu bash, dar nu cu stat . Deci, acest lucru nu este în întregime ipotetic.

ls are o problemă similară prin aceea că formatul exact al ieșirii nu este specificat, astfel încât analiza ieșirii sale nu poate fi realizată portabil . du -h este, de asemenea, o extensie GNU.

Respectați construcțiile portabile acolo unde este posibil și veți face viața cuiva mai ușoară în viitor. Poate a voastră.

Comentarii

  • du nu ‘ nu dă dimensiunea fișierului, oferă o indicație a spațiului pe care îl folosește fișierul, care este subtil diferit (de obicei, dimensiunea raportată de du este dimensiunea fișierului rotunjită la cel mai apropiat numărul de blocuri, în care un bloc este de obicei 512B sau 1kB sau 4kB).
  • @Gilles, fișierele rare (adică cele cu găuri în ele) raportează mai puțin decât lungimea.
  • Acesta, cu --bytes sau -b în loc de -k, ar trebui să fie răspunsul acceptat.
  • @fralau: OP dorește să ” atribuie aceasta unei variabile bash, astfel încât să o poată utiliza mai târziu „, deci este mult mai probabil să își dorească un act o valoare numerică, nu o aproximare lizibilă de om. De asemenea, -h este o extensie GNU; nu este standard
  • Utilizarea du cu --apparent-size semnalizator va reveni dimensiune precisă (așa cum se menționează pe om: print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like)

Răspuns

De asemenea, puteți utiliza comanda” numărare cuvinte „(wc):

wc -c "$filename" | awk "{print $1}" 

Problema cu wc este că „va adăuga numele fișierului și va indenta rezultatul. De exemplu:

$ wc -c somefile.txt 1160 somefile.txt 

Dacă doriți să evitați înlănțuirea unui limbaj interpretat complet sau a unui editor de flux doar pentru a obține un număr de dimensiuni ale fișierului, trebuie doar să redirecționați intrarea din fișier astfel încât wc să nu vadă niciodată numele fișierului:

wc -c < "$filename" 

Acest ultim formular poate fi utilizat cu înlocuirea comenzii pentru a obține cu ușurință valoarea pe care o căutați ca variabilă shell, așa cum este menționat de Gilles mai jos.

size="$(wc -c <"$filename")" 

Comentarii

  • wc -c <"$FILENAME" oferă dimensiunea fără altă cruft, astfel size=$(wc -c <"$FILENAME").
  • Încă un punct: tocmai l-am testat și wc -c < file pare a fi foarte rapid, cel puțin pe OS X. I ‘ presupun că wc are creierul pentru a încerca să calculeze fișierul dacă este specificat numai -c.
  • @EdwardFalk: GNU wc -c folosește fstat, dar apoi caută ultimul bloc al fișierului și citește ultimii st_blksize octeți. Se pare că acest lucru se datorează faptului că fișierele din Linux ‘ s /proc și /sys, de exemplu, au dimensiuni statistice care sunt doar aproximative și wc dorește să raporteze dimensiunea reală, nu dimensiunea raportată statistică. Cred că ar fi ciudat ca wc -c să raporteze o dimensiune diferită de wc, dar ‘ nu are idee să citească date din fișier dacă ‘ este un fișier de disc normal și ‘ nu este în memorie. Sau, mai rău, stocarea de bandă aproape de linie …
  • Se pare că printf vede încă indentarea, de ex. printf "Size: $size" – > size: <4 spaces> 54339. Pe de altă parte, echo ignoră spațiul alb. Aveți vreo modalitate de a-l face coerent?
  • @keithpjolley: apelând fstat. Încercați să rulați strace wc -c </etc/passwd și puteți vedea ce face.

Răspuns

BSD „s (macOS” s) stat are un semnal de argument de format diferit și specificatori de câmp diferiți. Din man stat(1):

  • -f format: afișați informații utilizând formatul specificat. Consultați secțiunea FORMATE pentru o descriere a formatelor valide.
  • … secțiunea FORMATE …
  • z: dimensiunea fișier în octeți.

Deci, toate împreună acum:

stat -f%z myfile1.txt 

NOTĂ: consultați @ b01 „răspuns pentru modul de utilizare a comenzii stat pe sistemele GNU / Linux. 🙂

Comentarii

  • Rețineți că aceasta este o soluție exclusiv BSD. Nu funcționează ‘ cu GNU stat, din păcate.

Răspuns

Depinde ce vrei să spui prin mărime .

size=$(wc -c < "$file") 

vă va oferi numărul de octeți care pot fi citiți din fișier. IOW, este dimensiunea conținutului fișierului. Cu toate acestea, va citi conținutul fișierului (cu excepția cazului în care fișierul este un fișier obișnuit sau un link simbolic către fișierul obișnuit în majoritatea implementărilor wc ca optimizare). Acest lucru poate avea efecte secundare. De exemplu, pentru o țeavă numită, ceea ce a fost citit nu mai poate fi citit din nou și pentru lucruri precum /dev/zero sau /dev/random care sunt de dimensiune infinită, va dura ceva timp. Asta înseamnă, de asemenea, că aveți nevoie de read permisiune pentru fișier, iar ultimul timestamp de acces al fișierului poate să fie actualizat.

Acest lucru este standard și portabil, cu toate acestea, rețineți că unele wc implementări pot include spații libere în acea ieșire. O modalitate de a scăpa de ele este de a utiliza:

size=$(($(wc -c < "$file"))) 

sau de a evita o eroare despre o expresie aritmetică goală în dash sau yash când wc nu produce nicio ieșire (ca atunci când fișierul nu poate fi deschis):

size=$(($(wc -c < "$file") +0)) 

ksh93 a încorporat wc (cu condiția să îl activați, îl puteți invoca și ca command /opt/ast/bin/wc) ceea ce îl face cel mai eficient pentru fișierele obișnuite din acel shell.

Diverse sisteme au o comandă numită stat care este o interfață cu apelurile de sistem stat() sau lstat().

Aceste informații de raport găsite în inod. Una dintre aceste informații este atributul st_size. Pentru fișierele obișnuite, aceasta este dimensiunea conținutului (cât de multe date ar putea fi citite din acesta în absența unei erori (asta este ceea ce utilizează majoritatea implementărilor wc -c în optimizarea lor) ). Pentru legăturile simbolice, aceasta este dimensiunea în octeți a căii țintă. Pentru țevile denumite, în funcție de sistem, este fie 0, fie numărul de octeți în prezent în tamponul de țevi. Același lucru este valabil pentru dispozitivele de blocare în care, în funcție de sistem, obțineți 0 sau dimensiunea în octeți a spațiului de stocare subiacent.

Nu aveți nevoie de permisiunea de citire a fișierului pentru a obține aceste informații, doar căutați permisiunea către director la care este legat.

După ordinea cronologică, există:

  • IRIX stat (90 „s):

    stat -qLs -- "$file" 

    returnează atributul st_size al $file (lstat()) sau:

    stat -s -- "$file" 

    același, cu excepția cazului în $file este un link simbolic, caz în care este st_size al fișierului după rezoluția linkului simbol.

  • zsh stat builtin (cunoscut și sub numele de zstat) în modulul zsh/stat (încărcat cu zmodload zsh/stat) (1997):

    stat -L +size -- $file # st_size of file stat +size -- $file # after symlink resolution 

    sau pentru a stoca într-o variabilă:

    stat -L -A size +size -- $file 

    evident, acesta este cel mai eficient în acel coajă.

  • GNU stat (2001); de asemenea, în BusyBox stat din 2 005 (copiat din GNU stat):

    stat -c %s -- "$file" # st_size of file stat -Lc %s -- "$file" # after symlink resolution 

    (rețineți semnificația -L este inversat comparativ cu IRIX sau zsh stat.

  • BSD-uri stat (2002):

    stat -f %z -- "$file" # st_size of file stat -Lf %z -- "$file" # after symlink resolution 

Sau puteți utiliza funcția stat() / lstat() a unui anumit limbaj de scriptare, cum ar fi perl:

perl -le "print((lstat shift)[7])" -- "$file" 

AIX are și un istat comanda care va arunca toate stat() (nu lstat(), deci nu va funcționa pe linkurile simbolice ) informații și cu care ați putea prelucra, de exemplu:

LC_ALL=C istat "$file" | awk "NR == 4 {print $5}" 

(mulțumesc @JeffSchaller pentru ajuta la găsirea detaliilor ).

În tcsh:

@ size = -Z $file:q 

(dimensiune după rezoluția link-ului simbolic)

Cu mult înainte ca GNU să introducă comanda stat, același lucru s-ar putea realiza cu GNU find comanda cu -printf predicat (deja în 1991):

find -- "$file" -prune -printf "%s\n" # st_size of file find -L -- "$file" -prune -printf "%s\n" # after symlink resolution 

O problemă este că nu funcționează dacă $file începe cu - sau este un predicat find (cum ar fi !, ( …).

Comanda standard pentru a obține stat() / lstat() informațiile sunt ls.

POSIX, puteți face:

LC_ALL=C ls -dn -- "$file" | awk "{print $5; exit}" 

și adăugați -L pentru același lucru după rezoluția link-ului simbolic. Asta nu funcționează pentru fișierele dispozitivului, deși câmpul 5 th este numărul principal al dispozitivului în loc de dimensiune.

Pentru dispozitivele bloc, sistemele în care stat() returnează 0 pentru st_size, de obicei au alte API-uri pentru a raporta dimensiunea dispozitivului bloc. De exemplu, Linux are BLKGETSIZE64 ioctl(), iar majoritatea distribuțiilor Linux sunt livrate acum cu o comandă blockdev care o poate folosi:

blockdev --getsize64 -- "$device_file" 

Cu toate acestea, aveți nevoie de permisiunea de citire a fișierului dispozitivului pentru aceasta. De obicei, este posibil să obțineți dimensiunea prin alte mijloace. De exemplu (încă pe Linux):

lsblk -bdno size -- "$device_file" 

Ar trebui să funcționeze cu excepția dispozitivelor goale.

O abordare care funcționează pentru toți căutare fișiere (deci include fișiere obișnuite, majoritatea dispozitivelor de blocare și unele dispozitive cu caractere) este să deschideți fișierul și să căutați până la capăt:

  • Cu zsh (după încărcarea modulului zsh/system):

    {sysseek -w end 0 && size=$((systell(0)))} < $file 
  • Cu ksh93:

    < "$file" <#((size=EOF)) 

    sau

    { size=$(<#((EOF))); } < "$file" 
  • cu perl:

    perl -le "seek STDIN, 0, 2 or die "seek: $!"; print tell STDIN" < "$file" 

Pentru țevile denumite, „am văzut că unele sisteme (cel puțin AIX, Solaris, HP / UX) fac cantitatea de date din buffer-ul de țevi disponibil în stat()” s st_size. Unele (cum ar fi Linux sau FreeBSD) nu „

Cel puțin pe Linux, puteți utiliza FIONREAD ioctl() după ce ați deschis conducta (în modul citire + scriere pentru a evita agățarea):

fuser -s -- "$fifo_file" && perl -le "require "sys/ioctl.ph"; ioctl(STDIN, &FIONREAD, $n) or die$!; print unpack "L", $n" <> "$fifo_file" 

Cu toate acestea, rețineți că în timp ce nu „t citește conținutul țevii, simpla deschidere a țevii numite aici poate avea în continuare efecte secundare. „Folosim fuser pentru a verifica mai întâi dacă un proces are deja conducta deschisă pentru a atenua acest lucru, dar că„ nu este infailibil, deoarece fuser nu putem verifica toate procesele.

Acum, am luat în considerare doar dimensiunea datelor primare asociate fișierelor.Acest lucru nu ține cont de dimensiunea metadatelor și de toată infrastructura de suport necesară pentru stocarea fișierului respectiv.

Un alt atribut inode returnat de stat() este st_blocks. Acesta este numărul de blocuri de 512 octeți care este utilizat pentru a stoca datele fișierului (și, uneori, unele dintre metadatele sale, cum ar fi atributele extinse pe sistemele de fișiere ext4 pe Linux). „nu include inodul în sine sau intrările din directoarele la care este legat fișierul.

Dimensiunea și utilizarea discului nu sunt neapărat strâns legate de compresie, raritate (uneori unele metadate), infrastructură suplimentară precum blocuri indirecte în unele sisteme de fișiere au o influență asupra acestuia din urmă.

Asta este ceea ce du folosește pentru a raporta utilizarea discului. Majoritatea comenzilor enumerate mai sus vor putea să obțineți aceste informații.

  • POSIXLY_CORRECT=1 ls -sd -- "$file" | awk "{print $1; exit}"
  • POSIXLY_CORRECT=1 du -s -- "$file" (nu pentru directoare unde ar include discul usag e din fișierele din cadrul).
  • GNU find -- "$file" -printf "%b\n"
  • zstat -L +block -- $file
  • GNU stat -c %b -- "$file"
  • BSD stat -f %b -- "$file"
  • perl -le "print((lstat shift)[12])" -- "$file"

Comentarii

  • în mod clar cel mai cuprinzător și mai informațional răspuns. mulțumesc. Pot folosi acest lucru pentru a crea scripturi bash pe mai multe platforme folosind informațiile despre statistici BSD și GNU
  • Fapt distractiv: GNU coreutils wc -c utilizează fstat, dar apoi citește ultimii octeți st_blksize. Se pare că acest lucru se datorează faptului că fișierele din Linux ‘ s /proc și /sys, de exemplu, au dimensiuni statistice care sunt doar aproximative . Acest lucru este bun pentru corectitudine, dar rău dacă sfârșitul fișierului este pe disc și nu în memorie (în special dacă este utilizat pe multe fișiere într-o buclă). Și foarte rău dacă fișierul este migrat la stocare pe bandă aproape de linie , sau de ex. un sistem de fișiere cu descompunere transparentă FUSE.
  • nu ar funcționa și asta ls -go file | awk '{print $3}'
  • @StevenPenny cei -go ar fi cele SysV, nu ar funcționa ‘ pe BSD-uri (opțional (XSI) în POSIX). ‘ aveți nevoie și de ls -god file | awk '{print $3; exit}' (-d pentru ca acesta să funcționeze pe directoare, exit pentru link-uri simbolice cu linii noi în țintă). Problemele cu fișierele dispozitivului rămân și ele.
  • @ αғsнιη API-ul Unix nu face distincție între fișierele text și cele binare. Este ‘ toate secvențele de octeți. Unele aplicații ar putea dori să interpreteze acești octeți ca text, dar, evident, nu wc -c care raportează numărul de octeți.

Răspuns

Acest script combină mai multe moduri de a calcula dimensiunea fișierului:

( du --apparent-size --block-size=1 "$file" 2>/dev/null || gdu --apparent-size --block-size=1 "$file" 2>/dev/null || find "$file" -printf "%s" 2>/dev/null || gfind "$file" -printf "%s" 2>/dev/null || stat --printf="%s" "$file" 2>/dev/null || stat -f%z "$file" 2>/dev/null || wc -c <"$file" 2>/dev/null ) | awk "{print $1}" 

Scriptul funcționează pe multe sisteme Unix inclusiv Linux, BSD, OSX, Solaris, SunOS etc.

Dimensiunea fișierului arată numărul de octeți. Este dimensiunea aparentă, care este octeții pe care fișierul îi folosește pe un disc tipic, fără compresie specială, sau zone speciale rare, sau blocuri nealocate etc. mai multe opțiuni aici: https://github.com/SixArm/file-size

Răspuns

stat pare să facă acest lucru cu cele mai puține apeluri de sistem:

$ set debian-live-8.2.0-amd64-xfce-desktop.iso $ strace stat --format %s $1 | wc 282 2795 27364 $ strace wc --bytes $1 | wc 307 3063 29091 $ strace du --bytes $1 | wc 437 4376 41955 $ strace find $1 -printf %s | wc 604 6061 64793 

Răspuns

ls -l filename vă va oferi o mulțime de informații despre un fișier, inclusiv dimensiunea acestuia, permisiunile și proprietarul.

Dimensiunea fișierului în a cincea coloană și este afișată în octeți. În exemplul de mai jos, dimensiunea fișierului este puțin sub 2 KB:

-rw-r--r-- 1 user owner 1985 2011-07-12 16:48 index.php 

Editați: Acest lucru se pare că nu este la fel de fiabil ca comanda stat.

Comentarii

  • Cred că ambele comenzi ls -l și stat oferă informații fiabile despre dimensiune. Nu am găsit nicio referire la contrar. ls -s va da dimensiunea în număr de blocuri.
  • @ dabest1 ‘ nu este de încredere într-un sens că în un alt unix, ieșirea lor poate fi diferită (și în unele unixuri este).
  • Da, IIRC, Solaris nu a afișat implicit numele grupului, care duce la mai puține coloane în ieșire.
  • Deoarece dimensiunea este numerică pură, înconjurată de spații albe și data anului este numerică pură, într-un format definit, ar fi posibil să se utilizeze o regexp pentru a trata utilizatorul + proprietar ca un câmp, indiferent dacă grupul a fost sau nu prezent. (un exercițiu pentru cititor!)

Răspuns

du filename vă va spune utilizarea discului în octeți.

Prefer du -h filename, care vă oferă dimensiunea într-un format lizibil de către om.

Comentarii

  • that or stat -c "%s"😉
  • Această aromă a du tipărește dimensiunea în blocuri de 1024 octeți, nu un număr simplu de octeți.
  • Rețineți că standardul du oferă o ieșire în număr de unități de 512 octeți. GNU du folosește în schimb kibibytes, cu excepția cazului în care este apelat cu POSIXLY_CORRECT în mediul său.
  • Pentru fișierele de tip director , care oferă utilizarea discului din director, dar și a tuturor celorlalte fișiere din interior (recursiv).

Răspuns

Creați mici funcții de utilitate în scripturile shell pe care le puteți delega.

Example

#! /bin/sh - # vim: set ft=sh # size utility that works on GNU and BSD systems size(){ case $(uname) in (Darwin | *BSD*) stat -Lf %z -- "$1";; (*) stat -c %s -- "$1" esac } for f do printf "%s\n" "$f : $(gzip < "$f" | wc -c) bytes (versus $(size "$f") bytes)" done 

Pe baza informațiilor de la răspunsul lui @ Stéphane Chazelas „.

Comentarii

  • Consultați și gzip -v < file > /dev/null pentru a verifica compresibilitatea unui fișier.
  • @St é phaneChazelas nu sunt sigur dacă cred că a fost o îmbunătățire. Aceste declarații de caz pot ușor să înlăture noobs; cu siguranță nu-mi amintesc niciodată cum să le fac corect 🙂 sunt declarații de caz inerent mai portabile, deoarece Am văzut punctul în care există mai mult de două cazuri, dar altfel … +
  • Presupun că ‘ este și o chestiune de gust, dar aici ‘ este cazul tipic în care ‘ doriți să utilizați un case declarație. case este constructul Bourne / POSIX pentru a face potrivirea modelelor. [[...]] este doar ksh / bash / zsh (cu variații).

Răspuns

Am găsit o linie AWK 1 și avea o eroare, dar am remediat-o. Am adăugat și în PetaBytes după TeraBytes.

FILE_SIZE=234234 # FILESIZE IN BYTES FILE_SIZE=$(echo "${FILE_SIZE}" | awk "{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }") 

Luând în considerare stat nu este pe fiecare sistem, puteți folosi aproape întotdeauna soluția AWK. Exemplu; Raspberry Pi nu are stat dar are awk .

Comentarii

  • Complet NU ceea ce a cerut OP, ci o mică lucrare drăguță.

Răspuns

Îmi place opțiunea wc. Împreună cu „bc”, puteți obține zecimale în câte locuri doriți.

Încercam să îmbunătățesc un script pe care l-am dezvăluit în coloana „dimensiunea fișierului” din „ls – alh „comanda. Nu voiam doar dimensiuni de fișiere întregi și două zecimale păreau să se potrivească, așa că după ce am citit această discuție, am venit cu codul de mai jos.

Vă sugerez să rupeți linia la punct și virgulă dacă includeți acest lucru într-un script.

file=$1; string=$(wc -c $file); bite=${string% *}; okay=$(echo "scale=2; $bite/1024" | bc);friend=$(echo -e "$file $okay" "kb"); echo -e "$friend"

My scriptul se numește gpfl , pentru „obțineți lungimea fișierului imagine”. Îl folosesc după ce am făcut o mogrify pe un fișier din imagemagick, înainte de a deschide sau reîncărca o imagine într-un vizualizator jpeg GUI.

Nu știu cum este evaluat un „răspuns”, deoarece împrumută mult din ceea ce a fost deja oferit și discutat. Așa că o voi lăsa acolo.

BZT

Comentarii

  • Aș prefera să folosesc ” stat ” sau ” ls „. De obicei, nu îmi place ‘ să folosesc ” wc ” pentru a obține dimensiunile fișierelor, deoarece citește fizic întregul fișier. Dacă aveți o mulțime de fișiere sau fișiere deosebit de mari, acest lucru poate dura mult. Dar soluția dvs. este creativă … + 1. de utilizare a ” stat ” peste ” wc ” pentru dimensiunea fișierului, cu toate acestea, dacă utilizați ” wc -c „, nu se vor citi date; în schimb, lseek va fi folosit pentru calculează numărul de octeți dintr-un fișier. lingrok.org/xref/coreutils/src/wc.c#228
  • @ bbaja42 : rețineți că GNU Coreutils citește ultimul bloc al fișierului, în cazul în care stat.st_size a fost doar o aproximare (ca pentru Linux /proc și /sys fișiere). Bănuiesc că au decis să nu facă comentariul principal mai complicat atunci când au adăugat că logica este însoțită de câteva linii: lingrok.org/xref/coreutils/src/wc.c#246

Răspuns

Cea mai rapidă și simplă metodă (IMO) este:

bash_var=$(stat -c %s /path/to/filename) 

Comentarii

  • Apoi votați unul sau mai multe dintre răspunsurile existente care menționează stat; nu este nevoie să-l repet din nou …
  • @JeffSchaller Tocmai am votat răspunsul lui Stephane ‘ la instrucțiunile dvs.Cred că este prea complicat pentru scopurile mele. Acesta este motivul pentru care am postat acest răspuns simplu pentru suflete asemănătoare.
  • Mulțumesc; ‘ este doar că o șasea instanță a unei ” stat ” răspunsul nu ‘ simplifică acest Q & A, ci ar prefera să facă un nou cititor să se întrebe ” în ce fel este diferit acest răspuns de celelalte? ” și duce la mai multă confuzie în loc de mai puțin.
  • @JeffSchaller, cred. Dar aș putea să mă plâng de numeroasele du și wc răspunsuri care ar trebui să aibă o responsabilitate NICIODATĂ NU FĂ ACESTA în real viaţă. Tocmai mi-am folosit răspunsul într-o aplicație din viața reală în această seară și am crezut că merită să-l împărtășesc. Cred că toți avem părerile noastre ridică din umeri .

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *