ಫೈಲ್‌ನಿಂದ ನಕಲಿ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಿ

ನಾನು ಹೆಚ್ಚು ಬಳಸಿದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ನಿಘಂಟನ್ನು ತಯಾರಿಸುತ್ತಿದ್ದೇನೆ, ಬಳಕೆದಾರರು ಜನಪ್ರಿಯ ಅಥವಾ ಹೆಚ್ಚಾಗಿ ಬಳಸುತ್ತಾರೆ (… ಏಕೆ ಎಂದು ಕೇಳಬೇಡಿ… ಹಾಹಾ), ಇದಕ್ಕಾಗಿ ನಾನು ಇತರ ನಿಘಂಟು ಇತ್ಯಾದಿಗಳಿಂದ ಪಠ್ಯವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದೇನೆ, ಆದರೆ, ಅನೇಕ ನಕಲಿ ಪಾಸ್‌ವರ್ಡ್‌ಗಳಿವೆ ಎಂಬ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ನಾನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ ಮತ್ತು ನಾನು ನಕಲಿ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಬೇಕಾಗಿದೆ.

ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಉದಾಹರಣೆಗೆ ... ನಮ್ಮಲ್ಲಿ ಈ ಕೆಳಗಿನ ಫೈಲ್ ಇದೆ: pass.txt

ಮತ್ತು ಅದರ ವಿಷಯ ಹೀಗಿದೆ:

asdasd
ಲೋಲಾ
ಪ್ರೀತಿ
asdasd
ವಿಂಡೋಸ್
ನಿರ್ವಹಣೆ
ಲಿನಕ್ಸ್
asdasd
ಪ್ರೀತಿ

 ನಾವು ನೋಡುವಂತೆ, ನಾವು ಪುನರಾವರ್ತಿಸಿದ್ದೇವೆ «ಪ್ರೀತಿ"ವೈ"asdasd«, ನಂತರದ 3 ಬಾರಿ. ನಕಲಿ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಹೇಗೆ?

ಇದನ್ನು ಮಾಡುವುದು ಸರಳವಾಗಿದೆ, ಈ ಆಜ್ಞೆಯೊಂದಿಗೆ:

cat pass.txt | sort | uniq > pass-listos.txt

ಇದು ಎಂಬ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ pass-ready.txt ಇದು ಒಳಗೊಂಡಿರುತ್ತದೆ:

ನಿರ್ವಹಣೆ
asdasd
ಲಿನಕ್ಸ್
ಲೋಲಾ
ಪ್ರೀತಿ
ವಿಂಡೋಸ್

ಆಜ್ಞೆಯು ಏನು ಮಾಡುತ್ತದೆ ಎಂಬುದು ತುಂಬಾ ಸರಳವಾಗಿದೆ ...

  1. ಬೆಕ್ಕು pass.txt - the ಫೈಲ್‌ನ ವಿಷಯವನ್ನು ಪಟ್ಟಿ ಮಾಡಿ.
  2. ರೀತಿಯ - the ವಿಷಯವನ್ನು ವರ್ಣಮಾಲೆಯಂತೆ ವಿಂಗಡಿಸಿ.
  3. ಯುನಿಕ್ - d ನಕಲಿ ಸಾಲುಗಳನ್ನು ನಿವಾರಿಸಿ.
  4. > pass-ready.txt - command ಹಿಂದಿನ ಆಜ್ಞೆಗಳ ಫಲಿತಾಂಶ, ಅದನ್ನು pass-ready.txt ಫೈಲ್‌ನಲ್ಲಿ ಇರಿಸಿ (ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಕಾರಣ ಅದನ್ನು ರಚಿಸುತ್ತದೆ)

ಇದು ತುಂಬಾ ಸರಳವಾಗಿದೆ ... ನಾನು ಆಜ್ಞೆಯನ್ನು ಕಂಡುಹಿಡಿದಿದ್ದೇನೆ ರೀತಿಯ ಹೌದು, ಇದು ತುಂಬಾ ಒಳ್ಳೆಯದು ... ಆದರೆ, ಒಟ್ಟಿಗೆ ಯುನಿಕ್, ಅವರು ಕಲೆಯ ಆಭರಣ are

ನೀವು ಸಹಾಯ ಮಾಡಿದ್ದೀರಿ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

ಸಂಬಂಧಿಸಿದಂತೆ

ವಾಲ್ಪೇಪರ್: ನೀವು ವಾಲ್‌ಪೇಪರ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಬಯಸಿದರೆ «ಐ ಲವ್ #! / ಬಿನ್ / ಬ್ಯಾಷ್»ಲಿಂಕ್ ಇಲ್ಲಿದೆ:

ವಾಲ್‌ಪೇಪರ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ

ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.

  1.   ಕಾರ್ಲೋಸ್ ಡಿಜೊ

    ನೀವು ವಿಂಗಡಣೆ -u ಅನ್ನು ಸಹ ಬಳಸಬಹುದು.

    ಬ್ಲಾಗ್ನಲ್ಲಿ ಅಭಿನಂದನೆಗಳು, ನಾನು ಇದನ್ನು ಪ್ರೀತಿಸುತ್ತೇನೆ!

    1.    KZKG ^ ಗೌರಾ ಡಿಜೊ

      ಹೌದು ಸರಿ.
      ಏನೂ ಇಲ್ಲ, ಕಾಮೆಂಟ್ ಮಾಡಿದ್ದಕ್ಕಾಗಿ ತುಂಬಾ ಧನ್ಯವಾದಗಳು

      ಸ್ವಾಗತ
      ಸಂಬಂಧಿಸಿದಂತೆ

  2.   ಡಿಯಾಗೋ ಡಿಜೊ

    ಅದರೊಂದಿಗಿನ ಸಮಸ್ಯೆ ಎಂದರೆ ಅದು ಪದಗಳ ಕ್ರಮವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ, ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ... ಆದರೆ ಕೊನೆಯಲ್ಲಿ ಫಲಿತಾಂಶವು ಮೂಲದಿಂದ ಕ್ರಮದಲ್ಲಿ ಬಹಳಷ್ಟು ಭಿನ್ನವಾಗಿರುತ್ತದೆ (ಇದು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಇದು ಮುಖ್ಯವಾಗಿರುತ್ತದೆ)

    1.    KZKG ^ ಗೌರಾ ಡಿಜೊ

      ಹೌದು, ಇದು ಪದಗಳನ್ನು ವರ್ಣಮಾಲೆಯಂತೆ ಆದೇಶಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ವಿಷಯವು ವ್ಯತ್ಯಾಸಗಳಿಲ್ಲದೆ ಅಗತ್ಯವಿದ್ದರೆ, ಈ ಪರಿಹಾರವು ಆದರ್ಶವಾದದ್ದಲ್ಲ.

    2.    ಕಾರ್ಲೋಸ್ ಡಿಜೊ

      ಸುತ್ತಲೂ ತಿರುಗಿಸಬೇಡಿ, ನೀವು ವಿಂಗಡಣೆ ಆಜ್ಞೆಯನ್ನು ಹಾಕದಿದ್ದರೆ ಏನು? ದಯವಿಟ್ಟು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಯೋಚಿಸಿ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಅಗಿಯಬೇಡಿ.

      cat pass.txt | uniq> pass-ready.txt

      1.    ಎಲಿಯುಬರ್ ಡಿಜೊ

        ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ನಾನು ಅದನ್ನು ಪ್ರಯತ್ನಿಸಿದೆ

      2.    ಬಾಬ್ ಡಿಜೊ

        ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ ಏಕೆಂದರೆ "ಪುನರಾವರ್ತಿತ" ಸಾಲುಗಳು ನಿರಂತರವಾಗಿರಬೇಕು

  3.   ಹೆಸರಿಸದ ಡಿಜೊ

    ಗ್ರೇಸಿಯಾಸ್

    ಇದು ಸಾಕಷ್ಟು ಉಪಯುಕ್ತವಾಗಿದೆ

  4.   ಗಿಸ್ಕಾರ್ಡ್ ಡಿಜೊ

    ತುಂಬಾ ಒಳ್ಳೆಯದು! ಸರಳ ಮತ್ತು ಸ್ಪಷ್ಟ ಪರಿಹಾರ. ನಾನು ಅಂತಹ ವಿಷಯಗಳನ್ನು ಇಷ್ಟಪಡುತ್ತೇನೆ
    ನಾನು ಪೈಥಾನ್‌ನಲ್ಲಿ ಏನಾದರೂ ಮಾಡಬಹುದೆಂದು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕಾಗಿದೆ ಆದರೆ ಈ ಪರಿಹಾರವು ಉತ್ತಮವಾಗಿದೆ.

    1.    KZKG ^ ಗೌರಾ ಡಿಜೊ

      ಧನ್ಯವಾದಗಳು ^ - ^

  5.   ಟಿನೋ ಡಿಜೊ

    ಹಲೋ! ತುಂಬಾ ಒಳ್ಳೆಯದು!
    ದಯವಿಟ್ಟು ನನಗೆ ಪ್ರಶ್ನೆ ಇದೆ
    ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಗಾಗಿ ಇದು ನನಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:
    ಎಬಿಸಿಡಿ 1111
    DEFG 2222 45455
    ಎಬಿಸಿಡಿ 1111
    ಡಿಇಎಫ್‌ಜಿ 2222

    ಸಾಲುಗಳು ಒಂದೇ ಆದರೆ ಅವುಗಳಲ್ಲಿ ಸ್ಥಳಗಳು ಮತ್ತು ಇನ್ನೂ ಕೆಲವು ಅಕ್ಷರಗಳಿವೆ ... ಇದು ಒಂದೇ ಪದವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆಯೇ? ಅಥವಾ ಸಾಲಿನ ಮೂಲಕ? ನಾನು ವಿವರಿಸುತ್ತೇನೆ?
    ಇಂದಿನಿಂದ, ನಾನು ನಿಮಗೆ ತುಂಬಾ ಧನ್ಯವಾದಗಳು.
    ಒಂದು ಅಪ್ಪುಗೆ

    1.    KZKG ^ ಗೌರಾ ಡಿಜೊ

      ಹಾಯ್ ಹೇಗೆ ಹೋಗುತ್ತಿದೆ
      ನಾನು ನೋಡಿದಂತೆ, ಇದು ಸಾಲುಗಳನ್ನು ಹೋಲಿಸುತ್ತದೆ ಮತ್ತು ಕಾಲಮ್‌ಗಳಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ನನಗೆ ನೀಡಿದ ಉದಾಹರಣೆಯಲ್ಲಿ, ಇದು 1 ನೇ ಸಾಲು ಅಥವಾ 3 ನೇ, 2 ನೇ ಮತ್ತು 4 ನೇ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಅವು ಬಹುತೇಕ ಒಂದೇ ಆಗಿದ್ದರೂ, ಅವು 100% ಒಂದೇ ಆಗಿರುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅವುಗಳು ವ್ಯತ್ಯಾಸ ಕಾಲಮ್ ಅನ್ನು ಹೊಂದಿರಿ. 😉

      ಕಾಮೆಂಟ್‌ಗೆ ಧನ್ಯವಾದಗಳು ^ - ^

      1.    ಟಿನೋ ಡಿಜೊ

        ನಿಮಗೆ ಧನ್ಯವಾದಗಳು!! ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಒರಾಕಲ್‌ಗೆ ಒಂದು ಗಂಟೆ ತೆಗೆದುಕೊಳ್ಳುವ ಮೊದಲು ... ಈಗ ಬೆಕ್ಕಿನ ವಿಂಗಡಣೆಯೊಂದಿಗೆ 30 ಸೆಕೆಂಡುಗಳು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ !!

  6.   ಮೆಗಾಬೆಡ್ಡರ್ ಡಿಜೊ

    ನನಗೆ ಪಿಎಚ್ಪಿ: ಎಸ್

    1.    KZKG ^ ಗೌರಾ ಡಿಜೊ

      ಉಫ್ ... ನಾನು ಪಿಎಚ್ಪಿ, ನಾನು ತುಂಬಾ ಚಿಕ್ಕವನು, ನಾನು ನಿಜವಾಗಿಯೂ ಪ್ರೋಗ್ರಾಮರ್ ಅಲ್ಲ

      ಕ್ಷಮಿಸಿ.

    2.    ಬ್ರೂನೋಕಾಸಿಯೊ ಡಿಜೊ

      ಪಿಎಚ್ಪಿಗಾಗಿ ಅಧಿಕೃತ ಪಿಎಚ್ಪಿ ದಸ್ತಾವೇಜಿನಲ್ಲಿ ಅರೇ_ಯುನಿಕ್ (…) ಇದೆ ನೀವು ಅನೇಕ ಪ್ರಮುಖ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಕಾರ್ಯಗಳನ್ನು ಕಾಣಬಹುದು.

      ವಿಂಗಡಣೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, ನಿಮಗೆ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಅದು ಅನಿವಾರ್ಯವಲ್ಲ ... ಮರಣದಂಡನೆ ಸಮಯ ಮತ್ತು ಮೆಮೊರಿ ವ್ಯರ್ಥವಾಗುತ್ತದೆ. (ಪೋಸ್ಟ್‌ನಲ್ಲಿ ಏನು ಮಾಡಲಾಗಿದೆ)

      ಧನ್ಯವಾದಗಳು!

  7.   ಗೀಕ್ ಡಿಜೊ

    ಅದ್ಭುತ !! ವಿವೇಚನಾರಹಿತ ಶಕ್ತಿಯಾಗಿ ಬಳಸಲು ನಿಘಂಟು !! ಎಕ್ಸ್‌ಡಿ

  8.   ಗುಸ್ಟಾವೊ ಡಿಜೊ

    ಯುನಿಕ್ ಜೊತೆಗಿನ ವಿಂಗಡಣೆಯ ಸಂಯೋಜನೆ ತುಂಬಾ ಒಳ್ಳೆಯದು! ನಕಲಿ ಸಾಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಇದು ನನಗೆ ಸಾಕಷ್ಟು ಸಹಾಯ ಮಾಡಿತು.

    ಧನ್ಯವಾದಗಳು

  9.   ಗುಸ್ಟಾವೊ ಡಿಜೊ

    ಕಾರ್ಲೋಸ್ ಅವರ ಅಹಂಕಾರದ ಹೊರತಾಗಿಯೂ ಅವರ ಅಭಿಪ್ರಾಯವು ಮಾನ್ಯವಾಗಿಲ್ಲ. ಅವರು ಬಳಸಲು ಹೇಳುತ್ತಾರೆ:

    cat pass.txt | uniq> pass-ready.txt

    ಆದಾಗ್ಯೂ ಯುನಿಕ್ನ ಪೂರ್ವಾಪೇಕ್ಷಿತವೆಂದರೆ ಫೈಲ್ ಅನ್ನು ಆದೇಶಿಸಲಾಗಿದೆ. ಅದರ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಯೋಚಿಸಿರಬೇಕು ಅಥವಾ ಮೊದಲು ವಿಚಾರಿಸಬೇಕು.

  10.   ಎಲಿಯುಬರ್ ಡಿಜೊ

    ತುಂಬಾ ಒಳ್ಳೆಯದು, ನೀವು ನನ್ನ ಬ್ಯಾಷ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಉಳಿಸಿದ್ದೀರಿ

  11.   ಫ್ಲಿಂಟ್ ಸ್ಟೋನ್ಸ್ ಡಿಜೊ

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    ಇದರೊಂದಿಗೆ ಸಾಲುಗಳನ್ನು ಆದೇಶಿಸದೆ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.

  12.   ಮಿನಿಮಿನಿಯೊ ಡಿಜೊ

    ಕೊಡುಗೆಗಾಗಿ ತುಂಬಾ ಧನ್ಯವಾದಗಳು!

    ಆದೇಶವನ್ನು ಬದಲಾಯಿಸದೆ ಅದನ್ನು ಅನನ್ಯವಾಗಿಸಲು ಇದು ತಂಪಾಗಿರುತ್ತದೆಯಾದರೂ, ಹೇ, ಸುಲಭ ಮತ್ತು ಉಪಯುಕ್ತ ಆಜ್ಞೆ!

  13.   ಫೆಲಿಪೆ ಗುಟೈರೆಜ್ ಡಿಜೊ

    ಧನ್ಯವಾದಗಳು, ಇದು ನನಗೆ ಬಹಳಷ್ಟು ಸಹಾಯ ಮಾಡಿದೆ

  14.   ernesto ಡಿಜೊ

    ನನ್ನ ಬಳಿ ಇದು ಇದೆ
    ಸಿ 000006158880201502051056088364 ಸಿ 00-06158880
    ಸಿ 000007601673201503051056088364 ಸಿ 00-07601673
    ಸಿ 000008659304201504051056088364 ಸಿ 00-08659304
    ಟಿ 0809074070562015120818144287185REAÑO ರುಬಿನೋಸ್ ಎಮಿಲಿಯಾ ಡೋರಿಸ್
    ಟಿ 0809092979972016010818144287185REAÑO ರುಬಿನೋಸ್ ಎಮಿಲಿಯಾ ಡೋರಿಸ್
    ಸಿ 000005398451201501231044214375 ಸಿ 00-05398451
    ಸಿ 000007674996201503051000000286 ಸಿ 00-07674996
    ಸಿ 000008514288201504051000000463 ಸಿ 00-08514288
    ಸಿ 000011613498201506051056088070 ಸಿ 00-11613498

    ಫೈಲ್‌ನಲ್ಲಿ ಪ್ರತಿ ಚಂದಾದಾರರಿಗೆ ನಕಲುಗಳನ್ನು ಮಾತ್ರ ಚಿತ್ರಿಸಲು ಮತ್ತು ನಕಲುಗಳಲ್ಲದದನ್ನು ಇನ್ನೊಂದರಲ್ಲಿ ಬಿಡಲು ನಾನು ಅದನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?

    ಚಂದಾದಾರರು 23 (10 ಸ್ಥಾನಗಳು) ನಲ್ಲಿದ್ದಾರೆ

  15.   ಫರ್ನಾಂಡೊ ಡಿಜೊ

    sort -u -k 1,1 File.txt> result.txt

    ಇದು ಮೊದಲ ಕ್ಷೇತ್ರದಿಂದ ಫೈಲ್ ಅನ್ನು ವಿಂಗಡಿಸುತ್ತದೆ

  16.   ನಾನು ಡಿಯಾಗೋ ಡಿಜೊ

    2020 ಮತ್ತು ಇನ್ನೂ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತಿದೆ, ತುಂಬಾ ಧನ್ಯವಾದಗಳು!

  17.   ಸಾರಾ ಡಿಜೊ

    ಫೈಲ್ ಟೆಕ್ಸ್ಟ್ ಟ್ರಾಂಗ್ ಲಿನಕ್ಸ್ ಅಥವಾ ವಿಂಡೋಸ್ được ಖಾಂಗ್? C nng như trường hợp của bạn, khi tôi tạo file từ điển vì tôi chia nội dung ra nên Có khá nhiều file và chắc chắn con nhiều dòng trùng lặp giữa Các file. Ví dụ: ಫೈಲ್ 1 của tôi co 5 dng, file 2 co 15 dòng (co 2 dng trùng lặp với file 1. Tôi muốn co kết quả, file 1 vn giữ nguyên 5 dòng, ಫೈಲ್ 2 ಕೇವಲ 2 d gng giống ಫೈಲ್ .
    Nhđ bn biết co nhiều li do chúng ta ko thể gp các file txt đó lại với nhau, vì những file text từ điển rấtưlư nhiều ký, chẳng hạn như Rockyou. ವಿಂಡೋಸ್ನ ನಂತರ, ನೀವು ವಿಂಡೋಸ್ được ಗೆ ಹೋಗುವಾಗ, 🙂 Hy vọng nhận được phản hồi từ bn!